home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_jvm12.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  128KB  |  6,528 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_jvm.h"
  9. /*No:INFIX_NAME.is_frozen*/
  10.  
  11.  
  12. void r141undefine_in(T141* C,T0* a1){
  13. /*[IF*/
  14. /*AF*//*AE*/
  15. /*FI]*/
  16. }
  17.  
  18.  
  19. T0* r141origin_base_class(T141* C){
  20. T0* R=NULL;
  21. T0* _sp=NULL;
  22. _sp=(C)->_start_position/*8*/;
  23. /*[IF*/
  24. if((_sp)!=((void*)(NULL))){
  25. R=r59base_class(((T59*)_sp));
  26. }
  27. /*FI]*/
  28. return R;
  29. }
  30. /*No:INFIX_NAME.start_position*/
  31. /*No:INFIX_NAME.to_string*/
  32.  
  33.  
  34. void r141declaration_in(T141* C,T0* a1){
  35. r7append(((T7*)a1),((T0*)ms13_2785));
  36. r7extend(((T7*)a1),'\40');
  37. r7extend(((T7*)a1),'\42');
  38. r7append(((T7*)a1),(C)->_to_string/*4*/);
  39. r7extend(((T7*)a1),'\42');
  40. }
  41. /*No:INFIX_NAME.to_key*/
  42.  
  43.  
  44. void r141error(T0* a1,T0* a2){
  45. r21add_position(a1);
  46. r21error((T21*)(oBC12eh),a2);
  47. }
  48.  
  49.  
  50. void r141make(T141* C,T0* a1,T0* a2){
  51. C->_to_string=r86item(a1);
  52. C->_start_position=a2;
  53. C->_to_key=r86for_infix((C)->_to_string/*4*/);
  54. }
  55. /*No:INFIX_NAME.fz_infix*/
  56. /*No:E_ENSURE.start_position*/
  57. T0*oBC107failure=NULL;
  58.  
  59.  
  60. T6 r219use_current(T219* C){
  61. T6 R=0;
  62. T2 _i=0;
  63. /*[IF*/
  64. if(((C)->_list/*8*/)!=((void*)(NULL))){
  65. _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
  66. while (!((R)||((_i)==(0)))) {
  67. R=r105use_current((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
  68. _i=(_i)-(1);
  69. }
  70. }
  71. /*FI]*/
  72. return R;
  73. }
  74. /*No:E_ENSURE.header_comment*/
  75. /*No:E_ENSURE.is_ensure_then*/
  76. /*No:E_ENSURE.current_type*/
  77. /*No:E_ENSURE.clear_run_feature*/
  78. /*No:E_ENSURE.set_ensure_then*/
  79.  
  80.  
  81. void r219add_into(T219* C,T0* a1){
  82. T0* _a=NULL;
  83. T2 _i=0;
  84. /*[IF*/
  85. if(((C)->_list/*8*/)!=((void*)(NULL))){
  86. _i=1;
  87. while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
  88. _a=r108item((T108*)((C)->_list/*8*/),_i);
  89. /*[IF*/
  90. if(!(r108fast_has(((T108*)a1),_a))){
  91. r108add_last(((T108*)a1),_a);
  92. }
  93. /*FI]*/
  94. _i=(_i)+(1);
  95. }
  96. }
  97. /*FI]*/
  98. }
  99. /*No:E_ENSURE.run_feature*/
  100.  
  101.  
  102. void r219make(T219* C,T0* a1,T0* a2,T0* a3){
  103. C->_start_position=a1;
  104. C->_header_comment=a2;
  105. C->_list=a3;
  106. }
  107.  
  108.  
  109. void r219make_runnable(T219* C,T0* a1,T0* a2,T0* a3){
  110. C->_list=a1;
  111. C->_current_type=a2;
  112. C->_run_feature=a3;
  113. }
  114.  
  115.  
  116. void r219compile_to_jvm_old(T219* C){
  117. T2 _i=0;
  118. /*[IF*/
  119. if(((C)->_list/*8*/)!=((void*)(NULL))){
  120. _i=((T108*)((C)->_list/*8*/))->_lower/*12*/;
  121. while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
  122. r105compile_to_jvm_old((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
  123. _i=(_i)+(1);
  124. }
  125. }
  126. /*FI]*/
  127. }
  128. /*No:E_ENSURE.set_header_comment*/
  129.  
  130.  
  131. void r219compile_to_jvm(T219* C,T6 a1){
  132. T0* _ca=NULL;
  133. T2 _i=0;
  134. T2 _point_true=0;
  135. _ca=oBC12code_attribute;
  136. r28check_opening(((T28*)_ca));
  137. /*[IRF3.3clear*/((((T48*)((T48*)(oBC107failure))))->_upper)=(-(1));
  138. /*]*/
  139. _i=1;
  140. while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
  141. r105compile_to_jvm((T105*)(r108item((T108*)((C)->_list/*8*/),_i)),a1);
  142. r48add_last((T48*)(oBC107failure),r28opcode_ifeq(((T28*)_ca)));
  143. _i=(_i)+(1);
  144. }
  145. /*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
  146. /*]*/
  147. _point_true=r28opcode_goto(((T28*)_ca));
  148. r28resolve_with(oBC107failure);
  149. /*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
  150. /*]*/
  151. r28resolve_u2_branch(_point_true);
  152. r28check_closing(((T28*)_ca));
  153. }
  154.  
  155.  
  156. void r219afd_check(T219* C){
  157. T2 _i=0;
  158. /*[IF*/
  159. if(((C)->_list/*8*/)!=((void*)(NULL))){
  160. _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
  161. while (!((_i)==(0))) {
  162. r105afd_check((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
  163. _i=(_i)-(1);
  164. }
  165. }
  166. /*FI]*/
  167. }
  168. /*No:E_ENSURE.list*/
  169. /*No:E_DEBUG.compound*/
  170. T0*oBC12run_control=NULL;
  171. /*No:E_DEBUG.start_position*/
  172.  
  173.  
  174. T0* r224add_comment(T224* C,T0* a1){
  175. T0* R=NULL;
  176. /*[IF*/
  177. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  178. R=(T0*)C;
  179. }
  180.  else {/*AT*//*[IF*/
  181. if((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(1)){
  182. R=(T0*)C;
  183. }
  184. else{
  185. {T229*n=malloc(sizeof(*n));
  186. *n=M229;
  187. r229make(n,(T0*)C,a1);
  188. R=(T0*)n;
  189. }
  190. }
  191. /*FI]*/
  192. }
  193. /*FI]*/
  194. return R;
  195. }
  196.  
  197.  
  198. T6 r224use_current(T224* C){
  199. T6 R=0;
  200. /*[IF*/
  201. if(r76debug_check((T76*)(oBC12run_control))){
  202. /*[IF*/
  203. if(((C)->_compound/*12*/)!=((void*)(NULL))){
  204. R=r220use_current((T220*)((C)->_compound/*12*/));
  205. }
  206. /*FI]*/
  207. }
  208. /*FI]*/
  209. return R;
  210. }
  211.  
  212.  
  213. T0* r224to_runnable(T224* C,T0* a1){
  214. T0* R=NULL;
  215. /*[IF*/
  216. if(((C)->_current_type/*16*/)==((void*)(NULL))){
  217. C->_current_type=a1;
  218. /*[IF*/
  219. if(r76debug_check((T76*)(oBC12run_control))){
  220. /*[IF*/
  221. if(((C)->_compound/*12*/)!=((void*)(NULL))){
  222. C->_compound=r220to_runnable((T220*)((C)->_compound/*12*/),a1);
  223. }
  224. /*FI]*/
  225. }
  226. /*FI]*/
  227. R=(T0*)C;
  228. }
  229. else{
  230. {T224*n=malloc(sizeof(*n));
  231. *n=M224;
  232. r224make(n,(C)->_start_position/*4*/,(C)->_list/*8*/,(C)->_compound/*12*/);
  233. R=(T0*)n;
  234. }
  235. R=r224to_runnable(((T224*)R),a1);
  236. }
  237. /*FI]*/
  238. return R;
  239. }
  240. /*No:E_DEBUG.current_type*/
  241. /*No:E_DEBUG.is_pre_computable*/
  242. /*No:E_DEBUG.end_mark_comment*/
  243.  
  244.  
  245. void r224make(T224* C,T0* a1,T0* a2,T0* a3){
  246. C->_start_position=a1;
  247. C->_list=a2;
  248. C->_compound=a3;
  249. }
  250.  
  251.  
  252. void r224compile_to_jvm(T224* C){
  253. /*[IF*/
  254. if(r76debug_check((T76*)(oBC12run_control))){
  255. /*[IF*/
  256. if(((C)->_compound/*12*/)!=((void*)(NULL))){
  257. r220compile_to_jvm((T220*)((C)->_compound/*12*/));
  258. }
  259. /*FI]*/
  260. }
  261. /*FI]*/
  262. }
  263.  
  264.  
  265. void r224afd_check(T224* C){
  266. /*[IF*/
  267. if(r76debug_check((T76*)(oBC12run_control))){
  268. /*[IF*/
  269. if(((C)->_compound/*12*/)!=((void*)(NULL))){
  270. r220afd_check((T220*)((C)->_compound/*12*/));
  271. }
  272. /*FI]*/
  273. }
  274. /*FI]*/
  275. }
  276. /*No:E_DEBUG.list*/
  277. /*No:CST_ATT_INTEGER.base_class*/
  278. /*No:CST_ATT_INTEGER.value_mem*/
  279.  
  280.  
  281. T0* r217start_position(T217* C){
  282. T0* R=NULL;
  283. R=X50start_position(/*(IRF4.6first_name*/r87item(((T87*)((C)->_names/*8*/)),1)/*)*/);
  284. return R;
  285. }
  286.  
  287.  
  288. T6 r217is_merge_with(T217* C,T0* a1,T0* a2){
  289. T6 R=0;
  290. R=1;
  291. /*[IF*/
  292. if(((C)->_result_type/*20*/)!=((void*)(X95result_type(a1)))){
  293. /*[IF*/
  294. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X95result_type(a1))==((void*)(NULL)))){
  295. R=0;
  296. }
  297. /*FI]*/
  298. }
  299. /*FI]*/
  300. /*[IF*/
  301. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X95arguments(a1)))){
  302. /*[IF*/
  303. {/*AT*/R=0;
  304. }
  305. /*FI]*/
  306. }
  307. /*FI]*/
  308. /*[IF*/
  309. if(R){
  310. /*[IF*/
  311. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  312. R=X52is_a_in((C)->_result_type/*20*/,X95result_type(a1),a2);
  313. }
  314. /*FI]*/
  315. /*[IF*/
  316. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  317. R=r191is_a_in((T191*)(/*(IRF4.1arguments*/NULL/*)*/),X95arguments(a1),a2);
  318. }
  319. /*FI]*/
  320. /*[IF*/
  321. if(!(R)){
  322. R=1;
  323. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  324. /*]*/
  325. /*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
  326. /*]*/
  327. /*]*/
  328. /*[IF*/
  329. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  330. R=X52is_a_in(X95result_type(a1),(C)->_result_type/*20*/,a2);
  331. }
  332. /*FI]*/
  333. /*[IF*/
  334. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  335. R=r191is_a_in((T191*)(X95arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
  336. }
  337. /*FI]*/
  338. }
  339. /*FI]*/
  340. }
  341. /*FI]*/
  342. /*[IF*/
  343. if(R){
  344. r217merge_header_comments(C,a1);
  345. }
  346. /*FI]*/
  347. return R;
  348. }
  349. /*No:CST_ATT_INTEGER.first_name*/
  350. /*No:CST_ATT_INTEGER.em1*/
  351. /*No:CST_ATT_INTEGER.header_comment*/
  352. /*No:CST_ATT_INTEGER.names*/
  353. /*No:CST_ATT_INTEGER.result_type*/
  354. /*No:CST_ATT_INTEGER.code_require*/
  355. /*No:CST_ATT_INTEGER.make_e_feature*/
  356.  
  357.  
  358. void r217add_into(T217* C,T0* a1){
  359. T0* _fn=NULL;
  360. T2 _i=0;
  361. C->_base_class=r59base_class((T59*)(X50start_position(r87item((T87*)((C)->_names/*8*/),1))));
  362. _i=1;
  363. while (!((_i)>(r87count((T87*)((C)->_names/*8*/))))) {
  364. _fn=r87item((T87*)((C)->_names/*8*/),_i);
  365. /*[IF*/
  366. if(r94has(((T94*)a1),X50to_key(_fn))){
  367. _fn=/*X95first_name*/((T0*)/*(IRF4.6first_name*/r87item(((T87*)(((T203*)(r94at(((T94*)a1),X50to_key(_fn))))->_names/*8*/)),1)/*)*/);
  368. r21add_position(X50start_position(_fn));
  369. r21add_position(X50start_position(r87item((T87*)((C)->_names/*8*/),_i)));
  370. r21error((T21*)(oBC12eh),((T0*)ms95_41905));
  371. /*[IRF3.6append*/{T0* b1=X50to_string(_fn);
  372. r7append((T7*)(oBC21explanation),b1);
  373. }/*]*/
  374. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  375. }
  376. else{
  377. r94put(((T94*)a1),(T0*)C,X50to_key(_fn));
  378. }
  379. /*FI]*/
  380. _i=(_i)+(1);
  381. }
  382. }
  383.  
  384.  
  385. T6 r217can_hide(T217* C,T0* a1,T0* a2){
  386. T6 R=0;
  387. /*[IF*/
  388. if(((C)->_result_type/*20*/)!=((void*)(X95result_type(a1)))){
  389. /*[IF*/
  390. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X95result_type(a1))==((void*)(NULL)))){
  391. r21add_position(X95start_position(a1));
  392. r217error(r217start_position(C),((T0*)ms95_64647));
  393. }
  394. /*FI]*/
  395. }
  396. /*FI]*/
  397. /*[IF*/
  398. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X95arguments(a1)))){
  399. /*[IF*/
  400. {/*AT*/r21add_position(X95start_position(a1));
  401. r217error(r217start_position(C),((T0*)ms95_83182));
  402. }
  403. /*FI]*/
  404. }
  405. /*FI]*/
  406. /*[IF*/
  407. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  408. /*[IF*/
  409. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  410. /*[IF*/
  411. if(!(X52is_a_in((C)->_result_type/*20*/,X95result_type(a1),a2))){
  412. /*[IRF3.6append*/{T0* b1=((T0*)ms95_54285);
  413. r7append((T7*)(oBC21explanation),b1);
  414. }/*]*/
  415. /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)a2))->_current_type/*0*/);
  416. r7append((T7*)(oBC21explanation),b1);
  417. }/*]*/
  418. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  419. }
  420. /*FI]*/
  421. }
  422. /*FI]*/
  423. }
  424. /*FI]*/
  425. /*[IF*/
  426. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  427. /*[IF*/
  428. /*AF*//*AE*/
  429. /*FI]*/
  430. }
  431. /*FI]*/
  432. R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
  433. /*[IF*/
  434. if(R){
  435. r217merge_header_comments(C,a1);
  436. }
  437. /*FI]*/
  438. return R;
  439. }
  440. /*No:CST_ATT_INTEGER.ensure_assertion*/
  441.  
  442.  
  443. T0* r217try_to_undefine(T217* C,T0* a1,T0* a2){
  444. T0* R=NULL;
  445. T0* _fn2=NULL;
  446. r21add_position(X50start_position(a1));
  447. _fn2=r87feature_name((T87*)((C)->_names/*8*/),X50to_key(a1));
  448. /*[IF*/
  449. if((_fn2)!=((void*)(NULL))){
  450. X50undefine_in(_fn2,a2);
  451. }
  452. /*FI]*/
  453. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  454. /*]*/
  455. /*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
  456. /*]*/
  457. /*]*/
  458. R=r217try_to_undefine_aux(C,a1,a2);
  459. /*[IF*/
  460. if((R)!=((void*)(NULL))){
  461. /*X289set_clients*//*[IRF3.3set_clients*/((((T292*)(((T292*)R))))->_clients)=((C)->_clients/*16*/);
  462. /*]*/
  463. r217merge_header_comments(C,R);
  464. }
  465. else{
  466. r63fatal_undefine(((T63*)a2),a1);
  467. }
  468. /*FI]*/
  469. return R;
  470. }
  471. /*No:CST_ATT_INTEGER.is_deferred*/
  472. T0*oBC95assertion_collector=NULL;
  473. /*No:CST_ATT_INTEGER.set_clients*/
  474. /*No:CST_ATT_INTEGER.value*/
  475. T0*oBC12small_eiffel=NULL;
  476. /*No:CST_ATT_INTEGER.nb_errors*/
  477.  
  478.  
  479. T0* r217to_run_feature(T217* C,T0* a1,T0* a2){
  480. T0* R=NULL;
  481. T0* _rc=NULL;
  482. _rc=X52run_class(a1);
  483. R=r23at(((T23*)_rc),a2);
  484. if(NULL!=(R))switch(((T0*)R)->id) {
  485. case 372: 
  486. break;
  487. default:
  488. R=NULL;
  489. };/*[IF*/
  490. if((R)==((void*)(NULL))){
  491. {T372*n=malloc(sizeof(*n));
  492. *n=M372;
  493. r372make(n,a1,a2,(T0*)C);
  494. R=(T0*)n;
  495. }
  496. }
  497. /*FI]*/
  498. return R;
  499. }
  500.  
  501.  
  502. void r217merge_header_comments(T217* C,T0* a1){
  503. /*[IF*/
  504. if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
  505. /*[IF*/
  506. if(((C)->_header_comment/*12*/)==((void*)(NULL))){
  507. C->_header_comment=/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/);
  508. }
  509.  else if((/*X95header_comment*/((T0*)(((T203*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  510. X95set_header_comment(a1,(C)->_header_comment/*12*/);
  511. }
  512. /*FI]*/
  513. }
  514. /*FI]*/
  515. }
  516. /*No:CST_ATT_INTEGER.arguments*/
  517. T0*oBC95header_comment_memory=NULL;
  518. /*No:CST_ATT_INTEGER.require_assertion*/
  519. T0*oBC95require_collector=NULL;
  520.  
  521.  
  522. T0* r217try_to_undefine_aux(T217* C,T0* a1,T0* a2){
  523. T0* R=NULL;
  524. r21add_position(r217start_position(C));
  525. r217error(X50start_position(a1),((T0*)ms205_99414));
  526. r63fatal_undefine(((T63*)a2),a1);
  527. return R;
  528. }
  529. /*No:CST_ATT_INTEGER.fz_dot*/
  530.  
  531.  
  532. void r217error(T0* a1,T0* a2){
  533. r21add_position(a1);
  534. r21error((T21*)(oBC12eh),a2);
  535. }
  536.  
  537.  
  538. void r217make(T217* C,T0* a1,T0* a2,T0* a3){
  539. /*[IRF3.3make_e_feature*/((((T217*)(C)))->_names)=(a1);
  540. /*]*/
  541. C->_result_type=a2;
  542. C->_value_mem=a3;
  543. }
  544.  
  545.  
  546. void r217collect_for(T2 a1){
  547. T0* _er=NULL;
  548. /*[IF*/
  549. if((a1)==(1)){
  550. _er=/*(IRF4.1require_assertion*/NULL/*)*/;
  551. /*[IF*/
  552. if((_er)!=((void*)(NULL))){
  553. /*[IF*/
  554. if(!(r365fast_has((T365*)(oBC95require_collector),_er))){
  555. r365add_last((T365*)(oBC95require_collector),_er);
  556. }
  557. /*FI]*/
  558. }
  559. /*FI]*/
  560. }
  561. else{
  562. /*[IF*/
  563. /*AF*//*AE*/
  564. /*FI]*/
  565. }
  566. /*FI]*/
  567. }
  568. /*No:CST_ATT_INTEGER.set_header_comment*/
  569. /*No:CST_ATT_INTEGER.clients*/
  570.  
  571.  
  572. T0* r86for_infix(T0* a1){
  573. T0* R=NULL;
  574. R=r86key_for_prefix_infix(((T0*)ms86_1728),a1);
  575. return R;
  576. }
  577. /*No:UNIQUE_STRING.us_fclose*/
  578. /*No:UNIQUE_STRING.us_shift_left*/
  579. /*No:UNIQUE_STRING.us_put_1*/
  580. /*No:UNIQUE_STRING.us_maximum_character_code*/
  581. T0*oBC86memory=NULL;
  582. /*No:UNIQUE_STRING.us_real_ref*/
  583. /*No:UNIQUE_STRING.us_die_with_code*/
  584. /*No:UNIQUE_STRING.us_is_equal*/
  585. /*No:UNIQUE_STRING.us_boolean_ref*/
  586. /*No:UNIQUE_STRING.us_item*/
  587. /*No:UNIQUE_STRING.us_integer*/
  588. /*No:UNIQUE_STRING.us_with_capacity*/
  589. /*No:UNIQUE_STRING.us_minimum_integer*/
  590. /*No:UNIQUE_STRING.us_double*/
  591. /*No:UNIQUE_STRING.us_stdin*/
  592. /*No:UNIQUE_STRING.us_maximum_double*/
  593. /*No:UNIQUE_STRING.us_realloc*/
  594. /*No:UNIQUE_STRING.us_se_argc*/
  595. /*No:UNIQUE_STRING.us_se_system*/
  596. /*No:UNIQUE_STRING.us_general*/
  597. /*No:UNIQUE_STRING.us_native_array*/
  598. /*No:UNIQUE_STRING.us_standard_is_equal*/
  599. /*No:UNIQUE_STRING.us_std_neq*/
  600. /*No:UNIQUE_STRING.us_integer_ref*/
  601. /*No:UNIQUE_STRING.us_and_then*/
  602.  
  603.  
  604. T0* r86read(T0* a1){
  605. T0* R=NULL;
  606. R=r75at((T75*)(oBC86memory),a1);
  607. return R;
  608. }
  609. /*No:UNIQUE_STRING.us_double_floor*/
  610. /*No:UNIQUE_STRING.us_pointer*/
  611. /*No:UNIQUE_STRING.make*/
  612. /*No:UNIQUE_STRING.us_implies*/
  613. /*No:UNIQUE_STRING.us_platform*/
  614. /*No:UNIQUE_STRING.us_std_output*/
  615. /*No:UNIQUE_STRING.us_memory*/
  616. /*No:UNIQUE_STRING.us_compile_to_jvm*/
  617. /*No:UNIQUE_STRING.us_precursor*/
  618. /*No:UNIQUE_STRING.us_floor*/
  619. /*No:UNIQUE_STRING.us_real_bits*/
  620. /*No:UNIQUE_STRING.us_std_file_read*/
  621. /*No:UNIQUE_STRING.us_standard_copy*/
  622. /*No:UNIQUE_STRING.us_twin*/
  623. /*No:UNIQUE_STRING.us_se_string2double*/
  624. /*No:UNIQUE_STRING.us_minimum_character_code*/
  625.  
  626.  
  627. T0* r86item(T0* a1){
  628. T0* R=NULL;
  629. r86initialize();
  630. /*[IF*/
  631. if(r75has((T75*)(oBC86memory),a1)){
  632. R=r86read(a1);
  633. }
  634. else{
  635. R=r7twin(((T7*)a1));
  636. /*[IRF3.6add1*/{T0* b1=R;
  637. r75put((T75*)(oBC86memory),b1,b1);
  638. }/*]*/
  639. }
  640. /*FI]*/
  641. return R;
  642. }
  643. /*No:UNIQUE_STRING.us_from_pointer*/
  644. /*No:UNIQUE_STRING.us_minimum_double*/
  645. /*No:UNIQUE_STRING.us_std_error*/
  646. /*No:UNIQUE_STRING.us_pointer_ref*/
  647. /*No:UNIQUE_STRING.us_sfr_open*/
  648. /*No:UNIQUE_STRING.us_sfw_open*/
  649. /*No:UNIQUE_STRING.us_character_bits*/
  650. /*No:UNIQUE_STRING.us_maximum_real*/
  651. /*No:UNIQUE_STRING.us_lower*/
  652. /*No:UNIQUE_STRING.us_character_ref*/
  653. /*No:UNIQUE_STRING.us_raise_exception*/
  654. /*No:UNIQUE_STRING.us_current*/
  655. /*No:UNIQUE_STRING.us_minus*/
  656.  
  657.  
  658. T0* r86for_precursor(T2 a1,T0* a2){
  659. T0* R=NULL;
  660. r7copy((T7*)(oBC86tmp_string),((T0*)ms86_356));
  661. r2append_in(a1,oBC86tmp_string);
  662. r7append((T7*)(oBC86tmp_string),a2);
  663. R=r86item(oBC86tmp_string);
  664. return R;
  665. }
  666. /*No:UNIQUE_STRING.us_is_expanded_type*/
  667. int fBC86initialize=0;
  668.  
  669.  
  670. void r86initialize(void){
  671. if (fBC86initialize==0){
  672. fBC86initialize=1;
  673. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_714);
  674. r75put((T75*)(oBC86memory),b1,b1);
  675. }/*]*/
  676. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1990);
  677. r75put((T75*)(oBC86memory),b1,b1);
  678. }/*]*/
  679. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_687);
  680. r75put((T75*)(oBC86memory),b1,b1);
  681. }/*]*/
  682. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2055);
  683. r75put((T75*)(oBC86memory),b1,b1);
  684. }/*]*/
  685. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9369);
  686. r75put((T75*)(oBC86memory),b1,b1);
  687. }/*]*/
  688. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6510);
  689. r75put((T75*)(oBC86memory),b1,b1);
  690. }/*]*/
  691. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12694);
  692. r75put((T75*)(oBC86memory),b1,b1);
  693. }/*]*/
  694. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9936);
  695. r75put((T75*)(oBC86memory),b1,b1);
  696. }/*]*/
  697. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16588);
  698. r75put((T75*)(oBC86memory),b1,b1);
  699. }/*]*/
  700. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12700);
  701. r75put((T75*)(oBC86memory),b1,b1);
  702. }/*]*/
  703. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_4818);
  704. r75put((T75*)(oBC86memory),b1,b1);
  705. }/*]*/
  706. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10890);
  707. r75put((T75*)(oBC86memory),b1,b1);
  708. }/*]*/
  709. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12180);
  710. r75put((T75*)(oBC86memory),b1,b1);
  711. }/*]*/
  712. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14982);
  713. r75put((T75*)(oBC86memory),b1,b1);
  714. }/*]*/
  715. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6412);
  716. r75put((T75*)(oBC86memory),b1,b1);
  717. }/*]*/
  718. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6748);
  719. r75put((T75*)(oBC86memory),b1,b1);
  720. }/*]*/
  721. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12760);
  722. r75put((T75*)(oBC86memory),b1,b1);
  723. }/*]*/
  724. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_5598);
  725. r75put((T75*)(oBC86memory),b1,b1);
  726. }/*]*/
  727. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17628);
  728. r75put((T75*)(oBC86memory),b1,b1);
  729. }/*]*/
  730. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1256);
  731. r75put((T75*)(oBC86memory),b1,b1);
  732. }/*]*/
  733. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8048);
  734. r75put((T75*)(oBC86memory),b1,b1);
  735. }/*]*/
  736. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6881);
  737. r75put((T75*)(oBC86memory),b1,b1);
  738. }/*]*/
  739. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12969);
  740. r75put((T75*)(oBC86memory),b1,b1);
  741. }/*]*/
  742. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1208);
  743. r75put((T75*)(oBC86memory),b1,b1);
  744. }/*]*/
  745. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7696);
  746. r75put((T75*)(oBC86memory),b1,b1);
  747. }/*]*/
  748. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_5046);
  749. r75put((T75*)(oBC86memory),b1,b1);
  750. }/*]*/
  751. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16887);
  752. r75put((T75*)(oBC86memory),b1,b1);
  753. }/*]*/
  754. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19334);
  755. r75put((T75*)(oBC86memory),b1,b1);
  756. }/*]*/
  757. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_939);
  758. r75put((T75*)(oBC86memory),b1,b1);
  759. }/*]*/
  760. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10800);
  761. r75put((T75*)(oBC86memory),b1,b1);
  762. }/*]*/
  763. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_65);
  764. r75put((T75*)(oBC86memory),b1,b1);
  765. }/*]*/
  766. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_374);
  767. r75put((T75*)(oBC86memory),b1,b1);
  768. }/*]*/
  769. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_62);
  770. r75put((T75*)(oBC86memory),b1,b1);
  771. }/*]*/
  772. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_252);
  773. r75put((T75*)(oBC86memory),b1,b1);
  774. }/*]*/
  775. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_63);
  776. r75put((T75*)(oBC86memory),b1,b1);
  777. }/*]*/
  778. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9513);
  779. r75put((T75*)(oBC86memory),b1,b1);
  780. }/*]*/
  781. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_248);
  782. r75put((T75*)(oBC86memory),b1,b1);
  783. }/*]*/
  784. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_61);
  785. r75put((T75*)(oBC86memory),b1,b1);
  786. }/*]*/
  787. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_46);
  788. r75put((T75*)(oBC86memory),b1,b1);
  789. }/*]*/
  790. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_43);
  791. r75put((T75*)(oBC86memory),b1,b1);
  792. }/*]*/
  793. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_222);
  794. r75put((T75*)(oBC86memory),b1,b1);
  795. }/*]*/
  796. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1029);
  797. r75put((T75*)(oBC86memory),b1,b1);
  798. }/*]*/
  799. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_456);
  800. r75put((T75*)(oBC86memory),b1,b1);
  801. }/*]*/
  802. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8316);
  803. r75put((T75*)(oBC86memory),b1,b1);
  804. }/*]*/
  805. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_44);
  806. r75put((T75*)(oBC86memory),b1,b1);
  807. }/*]*/
  808. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_95);
  809. r75put((T75*)(oBC86memory),b1,b1);
  810. }/*]*/
  811. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_570);
  812. r75put((T75*)(oBC86memory),b1,b1);
  813. }/*]*/
  814. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_582);
  815. r75put((T75*)(oBC86memory),b1,b1);
  816. }/*]*/
  817. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_48);
  818. r75put((T75*)(oBC86memory),b1,b1);
  819. }/*]*/
  820. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_194);
  821. r75put((T75*)(oBC86memory),b1,b1);
  822. }/*]*/
  823. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_36);
  824. r75put((T75*)(oBC86memory),b1,b1);
  825. }/*]*/
  826. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053a);
  827. r75put((T75*)(oBC86memory),b1,b1);
  828. }/*]*/
  829. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2675);
  830. r75put((T75*)(oBC86memory),b1,b1);
  831. }/*]*/
  832. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2695);
  833. r75put((T75*)(oBC86memory),b1,b1);
  834. }/*]*/
  835. r86add2(((T0*)ms14_22704));
  836. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6792);
  837. r75put((T75*)(oBC86memory),b1,b1);
  838. }/*]*/
  839. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11896);
  840. r75put((T75*)(oBC86memory),b1,b1);
  841. }/*]*/
  842. r86add2(((T0*)ms14_29456));
  843. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13554);
  844. r75put((T75*)(oBC86memory),b1,b1);
  845. }/*]*/
  846. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_20868);
  847. r75put((T75*)(oBC86memory),b1,b1);
  848. }/*]*/
  849. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_29078);
  850. r75put((T75*)(oBC86memory),b1,b1);
  851. }/*]*/
  852. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840a);
  853. r75put((T75*)(oBC86memory),b1,b1);
  854. }/*]*/
  855. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1684);
  856. r75put((T75*)(oBC86memory),b1,b1);
  857. }/*]*/
  858. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19459);
  859. r75put((T75*)(oBC86memory),b1,b1);
  860. }/*]*/
  861. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1812);
  862. r75put((T75*)(oBC86memory),b1,b1);
  863. }/*]*/
  864. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15220);
  865. r75put((T75*)(oBC86memory),b1,b1);
  866. }/*]*/
  867. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15720);
  868. r75put((T75*)(oBC86memory),b1,b1);
  869. }/*]*/
  870. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_19602);
  871. r75put((T75*)(oBC86memory),b1,b1);
  872. }/*]*/
  873. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004a);
  874. r75put((T75*)(oBC86memory),b1,b1);
  875. }/*]*/
  876. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_24024);
  877. r75put((T75*)(oBC86memory),b1,b1);
  878. }/*]*/
  879. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27482);
  880. r75put((T75*)(oBC86memory),b1,b1);
  881. }/*]*/
  882. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_10648);
  883. r75put((T75*)(oBC86memory),b1,b1);
  884. }/*]*/
  885. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13842);
  886. r75put((T75*)(oBC86memory),b1,b1);
  887. }/*]*/
  888. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6936);
  889. r75put((T75*)(oBC86memory),b1,b1);
  890. }/*]*/
  891. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1704);
  892. r75put((T75*)(oBC86memory),b1,b1);
  893. }/*]*/
  894. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805a);
  895. r75put((T75*)(oBC86memory),b1,b1);
  896. }/*]*/
  897. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22428);
  898. r75put((T75*)(oBC86memory),b1,b1);
  899. }/*]*/
  900. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1712);
  901. r75put((T75*)(oBC86memory),b1,b1);
  902. }/*]*/
  903. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22968);
  904. r75put((T75*)(oBC86memory),b1,b1);
  905. }/*]*/
  906. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_30885);
  907. r75put((T75*)(oBC86memory),b1,b1);
  908. }/*]*/
  909. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14130);
  910. r75put((T75*)(oBC86memory),b1,b1);
  911. }/*]*/
  912. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_438);
  913. r75put((T75*)(oBC86memory),b1,b1);
  914. }/*]*/
  915. r86add2(((T0*)ms14_22776));
  916. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_60434);
  917. r75put((T75*)(oBC86memory),b1,b1);
  918. }/*]*/
  919. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34672);
  920. r75put((T75*)(oBC86memory),b1,b1);
  921. }/*]*/
  922. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11264);
  923. r75put((T75*)(oBC86memory),b1,b1);
  924. }/*]*/
  925. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_18161);
  926. r75put((T75*)(oBC86memory),b1,b1);
  927. }/*]*/
  928. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1764);
  929. r75put((T75*)(oBC86memory),b1,b1);
  930. }/*]*/
  931. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2840);
  932. r75put((T75*)(oBC86memory),b1,b1);
  933. }/*]*/
  934. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_6852);
  935. r75put((T75*)(oBC86memory),b1,b1);
  936. }/*]*/
  937. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1696);
  938. r75put((T75*)(oBC86memory),b1,b1);
  939. }/*]*/
  940. r86add2(((T0*)ms14_60346));
  941. r86add2(((T0*)ms14_27090));
  942. r86add2(((T0*)ms14_33465));
  943. r86add2(((T0*)ms14_21804));
  944. r86add2(((T0*)ms14_60390));
  945. r86add2(((T0*)ms14_27118));
  946. r86add2(((T0*)ms14_33495));
  947. r86add2(((T0*)ms14_21828));
  948. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_18051);
  949. r75put((T75*)(oBC86memory),b1,b1);
  950. }/*]*/
  951. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_23004);
  952. r75put((T75*)(oBC86memory),b1,b1);
  953. }/*]*/
  954. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_21372);
  955. r75put((T75*)(oBC86memory),b1,b1);
  956. }/*]*/
  957. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2860);
  958. r75put((T75*)(oBC86memory),b1,b1);
  959. }/*]*/
  960. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11616);
  961. r75put((T75*)(oBC86memory),b1,b1);
  962. }/*]*/
  963. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_54240);
  964. r75put((T75*)(oBC86memory),b1,b1);
  965. }/*]*/
  966. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1053);
  967. r75put((T75*)(oBC86memory),b1,b1);
  968. }/*]*/
  969. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2515);
  970. r75put((T75*)(oBC86memory),b1,b1);
  971. }/*]*/
  972. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2520);
  973. r75put((T75*)(oBC86memory),b1,b1);
  974. }/*]*/
  975. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_32955);
  976. r75put((T75*)(oBC86memory),b1,b1);
  977. }/*]*/
  978. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_12879);
  979. r75put((T75*)(oBC86memory),b1,b1);
  980. }/*]*/
  981. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13797);
  982. r75put((T75*)(oBC86memory),b1,b1);
  983. }/*]*/
  984. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8652);
  985. r75put((T75*)(oBC86memory),b1,b1);
  986. }/*]*/
  987. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8610);
  988. r75put((T75*)(oBC86memory),b1,b1);
  989. }/*]*/
  990. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9541);
  991. r75put((T75*)(oBC86memory),b1,b1);
  992. }/*]*/
  993. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14328);
  994. r75put((T75*)(oBC86memory),b1,b1);
  995. }/*]*/
  996. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050a);
  997. r75put((T75*)(oBC86memory),b1,b1);
  998. }/*]*/
  999. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13050);
  1000. r75put((T75*)(oBC86memory),b1,b1);
  1001. }/*]*/
  1002. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34768);
  1003. r75put((T75*)(oBC86memory),b1,b1);
  1004. }/*]*/
  1005. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13887);
  1006. r75put((T75*)(oBC86memory),b1,b1);
  1007. }/*]*/
  1008. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11456);
  1009. r75put((T75*)(oBC86memory),b1,b1);
  1010. }/*]*/
  1011. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_26351);
  1012. r75put((T75*)(oBC86memory),b1,b1);
  1013. }/*]*/
  1014. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_11496);
  1015. r75put((T75*)(oBC86memory),b1,b1);
  1016. }/*]*/
  1017. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27790);
  1018. r75put((T75*)(oBC86memory),b1,b1);
  1019. }/*]*/
  1020. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_34215);
  1021. r75put((T75*)(oBC86memory),b1,b1);
  1022. }/*]*/
  1023. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27638);
  1024. r75put((T75*)(oBC86memory),b1,b1);
  1025. }/*]*/
  1026. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_40613);
  1027. r75put((T75*)(oBC86memory),b1,b1);
  1028. }/*]*/
  1029. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_25779);
  1030. r75put((T75*)(oBC86memory),b1,b1);
  1031. }/*]*/
  1032. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7470);
  1033. r75put((T75*)(oBC86memory),b1,b1);
  1034. }/*]*/
  1035. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2805);
  1036. r75put((T75*)(oBC86memory),b1,b1);
  1037. }/*]*/
  1038. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7620);
  1039. r75put((T75*)(oBC86memory),b1,b1);
  1040. }/*]*/
  1041. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14112);
  1042. r75put((T75*)(oBC86memory),b1,b1);
  1043. }/*]*/
  1044. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_14310);
  1045. r75put((T75*)(oBC86memory),b1,b1);
  1046. }/*]*/
  1047. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17120);
  1048. r75put((T75*)(oBC86memory),b1,b1);
  1049. }/*]*/
  1050. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_8925);
  1051. r75put((T75*)(oBC86memory),b1,b1);
  1052. }/*]*/
  1053. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7416);
  1054. r75put((T75*)(oBC86memory),b1,b1);
  1055. }/*]*/
  1056. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22896);
  1057. r75put((T75*)(oBC86memory),b1,b1);
  1058. }/*]*/
  1059. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13113);
  1060. r75put((T75*)(oBC86memory),b1,b1);
  1061. }/*]*/
  1062. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_16920);
  1063. r75put((T75*)(oBC86memory),b1,b1);
  1064. }/*]*/
  1065. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_17000);
  1066. r75put((T75*)(oBC86memory),b1,b1);
  1067. }/*]*/
  1068. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9156);
  1069. r75put((T75*)(oBC86memory),b1,b1);
  1070. }/*]*/
  1071. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_21480);
  1072. r75put((T75*)(oBC86memory),b1,b1);
  1073. }/*]*/
  1074. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_57020);
  1075. r75put((T75*)(oBC86memory),b1,b1);
  1076. }/*]*/
  1077. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1840);
  1078. r75put((T75*)(oBC86memory),b1,b1);
  1079. }/*]*/
  1080. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_2855);
  1081. r75put((T75*)(oBC86memory),b1,b1);
  1082. }/*]*/
  1083. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_27651);
  1084. r75put((T75*)(oBC86memory),b1,b1);
  1085. }/*]*/
  1086. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_15800);
  1087. r75put((T75*)(oBC86memory),b1,b1);
  1088. }/*]*/
  1089. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_9380);
  1090. r75put((T75*)(oBC86memory),b1,b1);
  1091. }/*]*/
  1092. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_58420);
  1093. r75put((T75*)(oBC86memory),b1,b1);
  1094. }/*]*/
  1095. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_22320);
  1096. r75put((T75*)(oBC86memory),b1,b1);
  1097. }/*]*/
  1098. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_13968);
  1099. r75put((T75*)(oBC86memory),b1,b1);
  1100. }/*]*/
  1101. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_7404);
  1102. r75put((T75*)(oBC86memory),b1,b1);
  1103. }/*]*/
  1104. /*[IRF3.6add1*/{T0* b1=((T0*)ms14_1648);
  1105. r75put((T75*)(oBC86memory),b1,b1);
  1106. }/*]*/
  1107. }}
  1108. /*No:UNIQUE_STRING.us_conforms_to*/
  1109. /*No:UNIQUE_STRING.us_generating_type*/
  1110. /*No:UNIQUE_STRING.us_count*/
  1111. /*No:UNIQUE_STRING.us_exception*/
  1112. /*No:UNIQUE_STRING.us_sprintf_pointer*/
  1113. /*No:UNIQUE_STRING.us_double_bits*/
  1114. /*No:UNIQUE_STRING.us_make*/
  1115. /*No:UNIQUE_STRING.us_upper*/
  1116. /*No:UNIQUE_STRING.us_boolean_bits*/
  1117. /*No:UNIQUE_STRING.us_plus*/
  1118. /*No:UNIQUE_STRING.us_print_on*/
  1119. /*No:UNIQUE_STRING.us_to_real*/
  1120. /*No:UNIQUE_STRING.us_code*/
  1121. /*No:UNIQUE_STRING.us_feof*/
  1122. /*No:UNIQUE_STRING.us_is_basic_expanded_type*/
  1123. /*No:UNIQUE_STRING.us_boolean*/
  1124. /*No:UNIQUE_STRING.us_minimum_real*/
  1125. /*No:UNIQUE_STRING.us_to_character*/
  1126. /*No:UNIQUE_STRING.us_muls*/
  1127. /*No:UNIQUE_STRING.us_free*/
  1128. /*No:UNIQUE_STRING.us_or_else*/
  1129. /*No:UNIQUE_STRING.us_slash*/
  1130. /*No:UNIQUE_STRING.us_ge*/
  1131. /*No:UNIQUE_STRING.us_integer_bits*/
  1132. /*No:UNIQUE_STRING.us_none*/
  1133. /*No:UNIQUE_STRING.us_string*/
  1134. /*No:UNIQUE_STRING.us_element_sizeof*/
  1135. /*No:UNIQUE_STRING.us_print*/
  1136. /*No:UNIQUE_STRING.us_void*/
  1137. /*No:UNIQUE_STRING.us_le*/
  1138.  
  1139.  
  1140. T0* r86key_for_prefix_infix(T0* a1,T0* a2){
  1141. T0* R=NULL;
  1142. T3 _c=0;
  1143. T2 _i=0;
  1144. r7copy((T7*)(oBC86tmp_string),a1);
  1145. _i=1;
  1146. while (!((_i)>((((T7*)a2))->_count/*4*/))) {
  1147. _c=/*(IRF4.6item*/((((T7*)a2))->_storage/*0*/)[(_i)-(1)]/*)*/;
  1148. /*[IF*/
  1149. if(r3is_letter(_c)){
  1150. r7extend((T7*)(oBC86tmp_string),_c);
  1151. }
  1152. else{
  1153. r2append_in(((unsigned char)_c),oBC86tmp_string);
  1154. }
  1155. /*FI]*/
  1156. _i=(_i)+(1);
  1157. }
  1158. R=r86item(oBC86tmp_string);
  1159. return R;
  1160. }
  1161. /*No:UNIQUE_STRING.us_sprintf_double*/
  1162. /*No:UNIQUE_STRING.us_standard_twin*/
  1163. /*No:UNIQUE_STRING.us_storage*/
  1164. /*No:UNIQUE_STRING.us_at*/
  1165. /*No:UNIQUE_STRING.us_neq*/
  1166. /*No:UNIQUE_STRING.us_eq*/
  1167. /*No:UNIQUE_STRING.us_pointer_size*/
  1168. /*No:UNIQUE_STRING.us_blank*/
  1169. /*No:UNIQUE_STRING.us_se_argv*/
  1170. /*No:UNIQUE_STRING.us_io*/
  1171. /*No:UNIQUE_STRING.us_bit_n_ref*/
  1172. /*No:UNIQUE_STRING.us_trace_switch*/
  1173. /*No:UNIQUE_STRING.us_read_byte*/
  1174. /*No:UNIQUE_STRING.us_native_array_character*/
  1175. /*No:UNIQUE_STRING.us_gt*/
  1176. /*No:UNIQUE_STRING.us_truncated_to_integer*/
  1177. /*No:UNIQUE_STRING.us_se_remove*/
  1178. /*No:UNIQUE_STRING.us_se_rename*/
  1179. /*No:UNIQUE_STRING.us_lt*/
  1180. /*No:UNIQUE_STRING.us_std_file_write*/
  1181. /*No:UNIQUE_STRING.us_or*/
  1182. /*No:UNIQUE_STRING.us_bit*/
  1183. /*No:UNIQUE_STRING.us_std_input*/
  1184. /*No:UNIQUE_STRING.us_signal_number*/
  1185. /*No:UNIQUE_STRING.us_print_run_time_stack*/
  1186. /*No:UNIQUE_STRING.us_flush_stream*/
  1187. /*No:UNIQUE_STRING.us_to_integer*/
  1188. /*No:UNIQUE_STRING.us_to_pointer*/
  1189. /*No:UNIQUE_STRING.us_pointer_bits*/
  1190. T0*oBC86tmp_string=NULL;
  1191. /*No:UNIQUE_STRING.us_stderr*/
  1192. /*No:UNIQUE_STRING.us_calloc*/
  1193. /*No:UNIQUE_STRING.us_copy*/
  1194. /*No:UNIQUE_STRING.us_result*/
  1195. /*No:UNIQUE_STRING.us_is_not_void*/
  1196. /*No:UNIQUE_STRING.us_capacity*/
  1197.  
  1198.  
  1199. T0* r86for_prefix(T0* a1){
  1200. T0* R=NULL;
  1201. R=r86key_for_prefix_infix(((T0*)ms86_1700),a1);
  1202. return R;
  1203. }
  1204. /*No:UNIQUE_STRING.us_compile_to_c*/
  1205. /*No:UNIQUE_STRING.us_double_ref*/
  1206. /*No:UNIQUE_STRING.us_object_size*/
  1207. /*No:UNIQUE_STRING.us_xor*/
  1208. /*No:UNIQUE_STRING.us_like_current*/
  1209. /*No:UNIQUE_STRING.us_to_double*/
  1210. /*No:UNIQUE_STRING.us_clear_all*/
  1211. /*No:UNIQUE_STRING.us_shift_right*/
  1212. /*No:UNIQUE_STRING.us_exceptions*/
  1213. /*No:UNIQUE_STRING.us_not*/
  1214. /*No:UNIQUE_STRING.us_slash_slash*/
  1215. /*No:UNIQUE_STRING.us_array*/
  1216. /*No:UNIQUE_STRING.us_bit_n*/
  1217. /*No:UNIQUE_STRING.us_se_getenv*/
  1218. /*No:UNIQUE_STRING.us_eof_code*/
  1219. /*No:UNIQUE_STRING.add1*/
  1220. /*No:UNIQUE_STRING.us_c_inline_c*/
  1221.  
  1222.  
  1223. void r86add2(T0* a1){
  1224. /*[IF*/
  1225. if(((T71*)(oBC12eiffel_parser))->_case_insensitive/*0*/){
  1226. r7to_lower(((T7*)a1));
  1227. }
  1228. /*FI]*/
  1229. /*[IRF3.6add1*/{T0* b1=a1;
  1230. r75put((T75*)(oBC86memory),b1,b1);
  1231. }/*]*/
  1232. }
  1233. /*No:UNIQUE_STRING.us_malloc*/
  1234. /*No:UNIQUE_STRING.us_dictionary*/
  1235. /*No:UNIQUE_STRING.us_fixed_array*/
  1236. /*No:UNIQUE_STRING.us_character*/
  1237. /*No:UNIQUE_STRING.us_put*/
  1238. /*No:UNIQUE_STRING.us_to_bit*/
  1239. /*No:UNIQUE_STRING.us_generator*/
  1240. /*No:UNIQUE_STRING.us_backslash_backslash*/
  1241. /*No:UNIQUE_STRING.us_maximum_integer*/
  1242. /*No:UNIQUE_STRING.us_put_0*/
  1243. /*No:UNIQUE_STRING.us_stdout*/
  1244. /*No:UNIQUE_STRING.us_write_byte*/
  1245. /*No:UNIQUE_STRING.us_c_inline_h*/
  1246. /*No:UNIQUE_STRING.us_any*/
  1247. /*No:UNIQUE_STRING.us_real*/
  1248. /*No:UNIQUE_STRING.us_and*/
  1249. /*No:UNIQUE_STRING.us_bitn*/
  1250. T0*oBC12eiffel_parser=NULL;
  1251. /*No:UNIQUE_STRING.us_pow*/
  1252. /*No:EIFFEL_PARSER.last_instruction*/
  1253. /*No:EIFFEL_PARSER.fz_frozen*/
  1254.  
  1255.  
  1256. T0* r71a_alias(T71* C){
  1257. T0* R=NULL;
  1258. /*[IF*/
  1259. if(r71a_keyword(C,((T0*)ms13_2685))){
  1260. /*[IF*/
  1261. if(r71a_manifest_string(C)){
  1262. R=((T174*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/;
  1263. }
  1264. else{
  1265. r71fcp(C,((T0*)ms71_63264));
  1266. }
  1267. /*FI]*/
  1268. }
  1269. /*FI]*/
  1270. return R;
  1271. }
  1272.  
  1273.  
  1274. T6 r71a_type_formal_generic(T71* C){
  1275. T6 R=0;
  1276. T2 _rank=0;
  1277. T0* _cn=NULL;
  1278. T0* _fga=NULL;
  1279. /*[IF*/
  1280. if(((C)->_formal_generic_list/*37*/)!=((void*)(NULL))){
  1281. _rank=1;
  1282. while (!((R)||((_rank)>(/*(IRF4.6count*/(((T284*)(((T96*)((C)->_formal_generic_list/*37*/))->_list/*4*/)))->_upper/*8*//*)*/)))) {
  1283. _fga=/*(IRF4.6item*/r284item(((T284*)(((T96*)((C)->_formal_generic_list/*37*/))->_list/*4*/)),_rank)/*)*/;
  1284. /*[IF*/
  1285. if(r71a_keyword(C,((T70*)((((T283*)_fga))->_name/*0*/))->_to_string/*0*/)){
  1286. {T70*n=malloc(sizeof(*n));
  1287. *n=M70;
  1288. r70make(n,((T70*)((((T283*)_fga))->_name/*0*/))->_to_string/*0*/,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  1289. _cn=(T0*)n;
  1290. }
  1291. {T285*n=malloc(sizeof(*n));
  1292. *n=M285;
  1293. r285make(n,_cn,_rank);
  1294. C->_last_type_formal_generic=(T0*)n;
  1295. }
  1296. R=1;
  1297. }
  1298. /*FI]*/
  1299. _rank=(_rank)+(1);
  1300. }
  1301. }
  1302. /*FI]*/
  1303. return R;
  1304. }
  1305.  
  1306.  
  1307. T6 r71end_of_input(T71* C){
  1308. T6 R=0;
  1309. R=((C)->_cc/*24*/)==('\0');
  1310. return R;
  1311. }
  1312.  
  1313.  
  1314. void r71err_exp(T0* a1,T0* a2){
  1315. T0* _msg=NULL;
  1316. {T7*n=malloc(sizeof(*n));
  1317. *n=M7;
  1318. r7make(n,0);
  1319. _msg=(T0*)n;
  1320. }
  1321. r7append(((T7*)_msg),((T0*)ms71_48949));
  1322. r7append(((T7*)_msg),a2);
  1323. r7append(((T7*)_msg),((T0*)ms71_10120));
  1324. r21add_position(a1);
  1325. /*[IRF3.6fatal_error*/{T0* b1=_msg;
  1326. r21fatal_error((T21*)(oBC12eh),b1);
  1327. }/*]*/
  1328. }
  1329. /*No:EIFFEL_PARSER.fz_then*/
  1330. /*No:EIFFEL_PARSER.formal_generic_list*/
  1331. /*No:EIFFEL_PARSER.fz_indexing*/
  1332.  
  1333.  
  1334. T6 r71a_rename_pair(T71* C){
  1335. T6 R=0;
  1336. T0* _rename_pair=NULL;
  1337. T0* _name1=NULL;
  1338. /*[IF*/
  1339. if(r71a_feature_name(C)){
  1340. _name1=(C)->_last_feature_name/*105*/;
  1341. /*[IF*/
  1342. if(r71a_keyword(C,((T0*)ms13_430))){
  1343. /*[IF*/
  1344. if(r71a_feature_name(C)){
  1345. R=1;
  1346. {T90*n=malloc(sizeof(*n));
  1347. *n=M90;
  1348. r90make(n,_name1,(C)->_last_feature_name/*105*/);
  1349. _rename_pair=(T0*)n;
  1350. }
  1351. r82add_rename((T82*)((C)->_last_parent/*149*/),_rename_pair);
  1352. }
  1353. else{
  1354. r71fcp(C,((T0*)ms71_121210));
  1355. }
  1356. /*FI]*/
  1357. }
  1358. else{
  1359. /*[IRF3.6go_back*/{T71* C1=C;
  1360. T0* b1=X50start_position(_name1);
  1361. r71go_back_at(C1,/*(IRF4.6line*/((((T59*)b1))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T59*)b1))->_mem_line_column/*4*/)%(1000)/*)*/);
  1362. }/*]*/
  1363. }
  1364. /*FI]*/
  1365. }
  1366. /*FI]*/
  1367. return R;
  1368. }
  1369. /*No:EIFFEL_PARSER.last_feature_name*/
  1370. /*No:EIFFEL_PARSER.fz_when*/
  1371. /*No:EIFFEL_PARSER.last_parent*/
  1372.  
  1373.  
  1374. T0* r71last_result(T71* C){
  1375. T0* R=NULL;
  1376. T0* _sp=NULL;
  1377. _sp=r112start_position((T112*)(oBC71tmp_name));
  1378. /*[IF*/
  1379. if((C)->_inside_function/*29*/){
  1380. /*[IF*/
  1381. if((C)->_inside_once_function/*33*/){
  1382. {T158*n=malloc(sizeof(*n));
  1383. *n=M158;
  1384. /*[IRF3.3make*/((((T158*)(n)))->_start_position)=(_sp);
  1385. /*]*/
  1386. R=(T0*)n;
  1387. }
  1388. }
  1389. else{
  1390. {T159*n=malloc(sizeof(*n));
  1391. *n=M159;
  1392. /*[IRF3.3make*/((((T159*)(n)))->_start_position)=(_sp);
  1393. /*]*/
  1394. R=(T0*)n;
  1395. }
  1396. }
  1397. /*FI]*/
  1398. }
  1399. else{
  1400. r21add_position(_sp);
  1401. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_116820);
  1402. r21fatal_error((T21*)(oBC12eh),b1);
  1403. }/*]*/
  1404. }
  1405. /*FI]*/
  1406. return R;
  1407. }
  1408. /*No:EIFFEL_PARSER.us_integer*/
  1409.  
  1410.  
  1411. void r71a_function_call(T71* C){
  1412. T0* _implicit_current=NULL;
  1413. T0* _sfn=NULL;
  1414. _sfn=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  1415. {T197*n=malloc(sizeof(*n));
  1416. *n=M197;
  1417. /*[IRF3.3make*/((((T197*)(n)))->_start_position)=((((T151*)_sfn))->_start_position/*8*/);
  1418. /*]*/
  1419. _implicit_current=(T0*)n;
  1420. }
  1421. r71a_r10(C,0,_implicit_current,_sfn,r71a_actuals(C));
  1422. }
  1423.  
  1424.  
  1425. T6 r71a_real_constant(T71* C){
  1426. T6 R=0;
  1427. T2 _c=0;
  1428. T2 _l=0;
  1429. _l=(C)->_line/*16*/;
  1430. _c=(C)->_column/*12*/;
  1431. /*[IF*/
  1432. if(r71skip1(C,'\53')){
  1433. /*[IF*/
  1434. if(r71a_real(C)){
  1435. r59set_line_column((T59*)(((T177*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
  1436. R=1;
  1437. }
  1438. else{
  1439. r71go_back_at(C,_l,_c);
  1440. }
  1441. /*FI]*/
  1442. }
  1443.  else if(r71skip1(C,'\55')){
  1444. /*[IF*/
  1445. if(r71a_real(C)){
  1446. r59set_line_column((T59*)(((T177*)((C)->_last_real_constant/*153*/))->_start_position/*4*/),_l,_c);
  1447. /*[IRF3.5unary_minus*/r7add_first(((T7*)(((T177*)((C)->_last_real_constant/*153*/))->_to_string/*8*/)),'\55');
  1448. /*]*/
  1449. R=1;
  1450. }
  1451. else{
  1452. r71go_back_at(C,_l,_c);
  1453. }
  1454. /*FI]*/
  1455. }
  1456.  else if(r71a_real(C)){
  1457. R=1;
  1458. }
  1459. /*FI]*/
  1460. return R;
  1461. }
  1462. /*No:EIFFEL_PARSER.fz_feature*/
  1463.  
  1464.  
  1465. T6 r71a_assignment_or_call(T71* C){
  1466. T6 R=0;
  1467. /*[IF*/
  1468. if((r71skip1(C,'\50'))&&(r71a_expression(C))){
  1469. R=1;
  1470. /*[IF*/
  1471. if(r71skip1(C,'\51')){
  1472. r71a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
  1473. }
  1474. else{
  1475. r71fcp(C,((T0*)ms71_11245));
  1476. }
  1477. /*FI]*/
  1478. }
  1479.  else if(r71a_precursor(C,1)){
  1480. R=1;
  1481. }
  1482.  else if(r71a_identifier(C)){
  1483. R=1;
  1484. /*[IF*/
  1485. if(r71skip2(C,'\72','\75')){
  1486. r71a_assignment_aux(C,1);
  1487. }
  1488.  else if(r71skip2(C,'\77','\75')){
  1489. r71a_assignment_aux(C,0);
  1490. }
  1491.  else if((((r71a_current(C))||(r71a_result(C)))||(r71a_local_variable(C)))||(r71a_argument(C))){
  1492. r71a_r10(C,1,(C)->_last_expression/*97*/,NULL,NULL);
  1493. }
  1494. else{
  1495. r71a_procedure_call(C);
  1496. }
  1497. /*FI]*/
  1498. }
  1499. /*FI]*/
  1500. return R;
  1501. }
  1502. /*No:EIFFEL_PARSER.fz_debug*/
  1503. /*No:EIFFEL_PARSER.us_native_array*/
  1504.  
  1505.  
  1506. T6 r71a_strip(T71* C){
  1507. T6 R=0;
  1508. T0* _sp=NULL;
  1509. /*[IF*/
  1510. if(r71a_keyword(C,((T0*)ms13_2885))){
  1511. {T59*n=malloc(sizeof(*n));
  1512. *n=M59;
  1513. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  1514. _sp=(T0*)n;
  1515. }
  1516. /*[IF*/
  1517. if(r71skip1(C,'\50')){
  1518. C->_ok=r71a_feature_name_list(C);
  1519. {T150*n=malloc(sizeof(*n));
  1520. *n=M150;
  1521. r150make(n,_sp,(C)->_last_feature_name_list/*109*/);
  1522. C->_last_expression=(T0*)n;
  1523. }
  1524. /*[IF*/
  1525. if(!(r71skip1(C,'\51'))){
  1526. r71fcp(C,((T0*)ms71_80379));
  1527. }
  1528. /*FI]*/
  1529. R=1;
  1530. }
  1531. else{
  1532. r71fcp(C,((T0*)ms71_65660));
  1533. }
  1534. /*FI]*/
  1535. }
  1536. /*FI]*/
  1537. return R;
  1538. }
  1539. /*No:EIFFEL_PARSER.fz_loop*/
  1540. T0*oBC71faof=NULL;
  1541.  
  1542.  
  1543. void r71disconnect(T71* C){
  1544. C->_is_running=0;
  1545. /*[IRF3.3unset_is_ready*/((((T74*)((T74*)(oBC12parser_buffer))))->_path)=(NULL);
  1546. /*]*/
  1547. }
  1548. /*No:EIFFEL_PARSER.us_pointer*/
  1549.  
  1550.  
  1551. void r71a_indexing(T71* C){
  1552. /*[IF*/
  1553. if(r71a_keyword(C,((T0*)ms13_11000))){
  1554. while (!(!(r71a_index_clause(C)))) {
  1555. C->_ok=r71skip1(C,'\73');
  1556. }
  1557. }
  1558. /*FI]*/
  1559. }
  1560. /*No:EIFFEL_PARSER.make*/
  1561.  
  1562.  
  1563. T0* r71a_actuals(T71* C){
  1564. T0* R=NULL;
  1565. T0* _remainder=NULL;
  1566. T0* _first_one=NULL;
  1567. /*[IF*/
  1568. if(r71skip1(C,'\50')){
  1569. while (!(!(r71a_actual(C)))) {
  1570. /*[IF*/
  1571. if((_first_one)==((void*)(NULL))){
  1572. _first_one=(C)->_last_expression/*97*/;
  1573. }
  1574. else{
  1575. /*[IF*/
  1576. if((_remainder)==((void*)(NULL))){
  1577. {T154*n=malloc(sizeof(*n));
  1578. *n=M154;
  1579. r154with_capacity(n,4);
  1580. _remainder=(T0*)n;
  1581. }
  1582. }
  1583. /*FI]*/
  1584. X154add_last(_remainder,(C)->_last_expression/*97*/);
  1585. }
  1586. /*FI]*/
  1587. /*[IF*/
  1588. if((!(r71skip1(C,'\54')))&&(((C)->_cc/*24*/)!=('\51'))){
  1589. /*[IRF3.6wcp*/{T71* C1=C;
  1590. T0* b1=((T0*)ms71_9410);
  1591. r71warning(r71current_position(C1),b1);
  1592. }/*]*/
  1593. }
  1594. /*FI]*/
  1595. }
  1596. /*[IF*/
  1597. if((_first_one)==((void*)(NULL))){
  1598. /*[IRF3.6wcp*/{T71* C1=C;
  1599. T0* b1=((T0*)ms71_57660);
  1600. r71warning(r71current_position(C1),b1);
  1601. }/*]*/
  1602. }
  1603. else{
  1604. {T152*n=malloc(sizeof(*n));
  1605. *n=M152;
  1606. r152make_n(n,_first_one,_remainder);
  1607. R=(T0*)n;
  1608. }
  1609. }
  1610. /*FI]*/
  1611. /*[IF*/
  1612. if(!(r71skip1(C,'\51'))){
  1613. r71fcp(C,((T0*)ms71_65695));
  1614. }
  1615. /*FI]*/
  1616. }
  1617. /*FI]*/
  1618. return R;
  1619. }
  1620.  
  1621.  
  1622. T0* r71a_clients(T71* C){
  1623. T0* R=NULL;
  1624. T2 _state=0;
  1625. T0* _list=NULL;
  1626. T0* _sp=NULL;
  1627. /*[IF*/
  1628. if(r71skip1(C,'\173')){
  1629. {T59*n=malloc(sizeof(*n));
  1630. *n=M59;
  1631. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  1632. _sp=(T0*)n;
  1633. }
  1634. while (!((_state)>(3))) {
  1635. {int z1=_state;
  1636.  
  1637. if((0==z1)){
  1638. /*[IF*/
  1639. if(r71a_base_class_name(C)){
  1640. {T199*n=malloc(sizeof(*n));
  1641. *n=M199;
  1642. /*[IRF3.3make_1*/((((T199*)(n)))->_first)=((C)->_last_class_name/*89*/);
  1643. /*]*/
  1644. _list=(T0*)n;
  1645. }
  1646. _state=2;
  1647. }
  1648.  else if(r71skip1(C,'\175')){
  1649. _state=4;
  1650. }
  1651.  else if(((C)->_cc/*24*/)==('\54')){
  1652. /*[IRF3.6wcp*/{T71* C1=C;
  1653. T0* b1=((T0*)ms71_48195);
  1654. r71warning(r71current_position(C1),b1);
  1655. }/*]*/
  1656. C->_ok=r71skip1(C,'\54');
  1657. }
  1658. else{
  1659. _state=3;
  1660. }
  1661. /*FI]*/
  1662. }
  1663.  else 
  1664. if((1==z1)){
  1665. /*[IF*/
  1666. if(r71a_base_class_name(C)){
  1667. r199add_last(((T199*)_list),(C)->_last_class_name/*89*/);
  1668. _state=2;
  1669. }
  1670.  else if(((C)->_cc/*24*/)==('\54')){
  1671. /*[IRF3.6wcp*/{T71* C1=C;
  1672. T0* b1=((T0*)ms71_48195);
  1673. r71warning(r71current_position(C1),b1);
  1674. }/*]*/
  1675. C->_ok=r71skip1(C,'\54');
  1676. }
  1677.  else if(((C)->_cc/*24*/)==('\175')){
  1678. /*[IRF3.6wcp*/{T71* C1=C;
  1679. T0* b1=((T0*)ms71_26923);
  1680. r71warning(r71current_position(C1),b1);
  1681. }/*]*/
  1682. C->_ok=r71skip1(C,'\175');
  1683. _state=4;
  1684. }
  1685. else{
  1686. _state=3;
  1687. }
  1688. /*FI]*/
  1689. }
  1690.  else 
  1691. if((2==z1)){
  1692. /*[IF*/
  1693. if(r71skip1(C,'\54')){
  1694. _state=1;
  1695. }
  1696.  else if(r71skip1(C,'\175')){
  1697. _state=4;
  1698. }
  1699.  else if(r71a_base_class_name(C)){
  1700. r71warning(((T70*)((C)->_last_class_name/*89*/))->_start_position/*4*/,((T0*)ms71_9410));
  1701. r199add_last(((T199*)_list),(C)->_last_class_name/*89*/);
  1702. }
  1703. else{
  1704. _state=3;
  1705. }
  1706. /*FI]*/
  1707. }
  1708.  else{r71fcp(C,((T0*)ms71_20247));
  1709. _state=4;
  1710. }}
  1711. }
  1712. {T103*n=malloc(sizeof(*n));
  1713. *n=M103;
  1714. r103make(n,_sp,_list);
  1715. R=(T0*)n;
  1716. }
  1717. }
  1718. else{
  1719. {T103*n=malloc(sizeof(*n));
  1720. *n=M103;
  1721. /*[IRF3.1omitted*//*]*/
  1722. R=(T0*)n;
  1723. }
  1724. }
  1725. /*FI]*/
  1726. return R;
  1727. }
  1728. T0*oBC12echo=NULL;
  1729. /*No:EIFFEL_PARSER.us_implies*/
  1730. T0*oBC71tmp_name=NULL;
  1731. /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
  1732.  
  1733.  
  1734. void r71a_feature_clause(T71* C){
  1735. T0* _comment=NULL;
  1736. T0* _clients=NULL;
  1737. T0* _feature_clause=NULL;
  1738. _clients=r71a_clients(C);
  1739. _comment=r71get_comments(C);
  1740. /*[IRF3.3clear*/((((T101*)((T101*)(oBC71faof))))->_upper)=(-(1));
  1741. /*]*/
  1742. while (!(!(r71a_feature_declaration(C)))) {
  1743. C->_ok=r71skip1(C,'\73');
  1744. /*[IF*/
  1745. if(((C)->_last_feature_declaration/*101*/)!=((void*)(NULL))){
  1746. r101add_last((T101*)(oBC71faof),(C)->_last_feature_declaration/*101*/);
  1747. X95set_header_comment((C)->_last_feature_declaration/*101*/,r71get_comments(C));
  1748. }
  1749. /*FI]*/
  1750. }
  1751. /*[IF*/
  1752. if(!(r101empty((T101*)(oBC71faof)))){
  1753. {T98*n=malloc(sizeof(*n));
  1754. *n=M98;
  1755. r98make(n,_clients,_comment,r101twin((T101*)(oBC71faof)));
  1756. _feature_clause=(T0*)n;
  1757. }
  1758. r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
  1759. }
  1760.  else if((_comment)!=((void*)(NULL))){
  1761. {T98*n=malloc(sizeof(*n));
  1762. *n=M98;
  1763. r98make(n,_clients,_comment,NULL);
  1764. _feature_clause=(T0*)n;
  1765. }
  1766. r63add_feature_clause((T63*)((C)->_last_base_class/*65*/),_feature_clause);
  1767. }
  1768. /*FI]*/
  1769. C->_last_keyword=NULL;
  1770. }
  1771. /*No:EIFFEL_PARSER.us_precursor*/
  1772. /*No:EIFFEL_PARSER.fz_inherit*/
  1773. /*No:EIFFEL_PARSER.fz_variant*/
  1774. /*No:EIFFEL_PARSER.fz_inspect*/
  1775. /*No:EIFFEL_PARSER.last_character_constant*/
  1776. /*No:EIFFEL_PARSER.last_class_type*/
  1777. /*No:EIFFEL_PARSER.last_class_name*/
  1778. /*No:EIFFEL_PARSER.last_ascii_code*/
  1779. /*No:EIFFEL_PARSER.line*/
  1780. /*No:EIFFEL_PARSER.fz_require*/
  1781. /*No:EIFFEL_PARSER.fz_invariant*/
  1782.  
  1783.  
  1784. T6 r71a_integer(T71* C){
  1785. T6 R=0;
  1786. T2 _value=0;
  1787. T2 _state=0;
  1788. /*[IF*/
  1789. if(r3is_digit((C)->_cc/*24*/)){
  1790. R=1;
  1791. C->_start_line=(C)->_line/*16*/;
  1792. C->_start_column=(C)->_column/*12*/;
  1793. _value=r3value((C)->_cc/*24*/);
  1794. while (!((_state)>(7))) {
  1795. r71next_char(C);
  1796. {int z1=_state;
  1797.  
  1798. if((0==z1)){
  1799. {int z2=(C)->_cc/*24*/;
  1800.  
  1801. if(((48<=z2)&&(z2<=57))){
  1802. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1803. _state=1;
  1804. }
  1805.  else 
  1806. if((95==z2)){
  1807. _state=4;
  1808. }
  1809.  else{_state=8;
  1810. }}
  1811. }
  1812.  else 
  1813. if((1==z1)){
  1814. {int z2=(C)->_cc/*24*/;
  1815.  
  1816. if(((48<=z2)&&(z2<=57))){
  1817. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1818. _state=2;
  1819. }
  1820.  else 
  1821. if((95==z2)){
  1822. _state=4;
  1823. }
  1824.  else{_state=8;
  1825. }}
  1826. }
  1827.  else 
  1828. if((2==z1)){
  1829. {int z2=(C)->_cc/*24*/;
  1830.  
  1831. if(((48<=z2)&&(z2<=57))){
  1832. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1833. _state=3;
  1834. }
  1835.  else 
  1836. if((95==z2)){
  1837. _state=4;
  1838. }
  1839.  else{_state=8;
  1840. }}
  1841. }
  1842.  else 
  1843. if((3==z1)){
  1844. {int z2=(C)->_cc/*24*/;
  1845.  
  1846. if(((48<=z2)&&(z2<=57))){
  1847. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1848. }
  1849.  else 
  1850. if((95==z2)){
  1851. r71fcp(C,((T0*)ms71_98851));
  1852. }
  1853.  else{_state=8;
  1854. }}
  1855. }
  1856.  else 
  1857. if((4==z1)){
  1858. {int z2=(C)->_cc/*24*/;
  1859.  
  1860. if(((48<=z2)&&(z2<=57))){
  1861. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1862. _state=5;
  1863. }
  1864.  else{r71fcp(C,((T0*)ms71_98851));
  1865. }}
  1866. }
  1867.  else 
  1868. if((5==z1)){
  1869. {int z2=(C)->_cc/*24*/;
  1870.  
  1871. if(((48<=z2)&&(z2<=57))){
  1872. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1873. _state=6;
  1874. }
  1875.  else{r71fcp(C,((T0*)ms71_98851));
  1876. }}
  1877. }
  1878.  else 
  1879. if((6==z1)){
  1880. {int z2=(C)->_cc/*24*/;
  1881.  
  1882. if(((48<=z2)&&(z2<=57))){
  1883. _value=((_value)*(10))+(r3value((C)->_cc/*24*/));
  1884. _state=7;
  1885. }
  1886.  else{r71fcp(C,((T0*)ms71_98851));
  1887. }}
  1888. }
  1889.  else {{int z2=(C)->_cc/*24*/;
  1890.  
  1891. if(((48<=z2)&&(z2<=57))){
  1892. r71fcp(C,((T0*)ms71_98851));
  1893. }
  1894.  else 
  1895. if((95==z2)){
  1896. _state=4;
  1897. }
  1898.  else{_state=8;
  1899. }}
  1900. }}
  1901. }
  1902. /*[IF*/
  1903. if(r3is_letter((C)->_cc/*24*/)){
  1904. r71fcp(C,((T0*)ms71_31689));
  1905. }
  1906. /*FI]*/
  1907. r71skip_comments(C);
  1908. {T178*n=malloc(sizeof(*n));
  1909. *n=M178;
  1910. r178make(n,_value,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  1911. C->_last_integer_constant=(T0*)n;
  1912. }
  1913. }
  1914. /*FI]*/
  1915. return R;
  1916. }
  1917.  
  1918.  
  1919. T0* r71current_position(T71* C){
  1920. T0* R=NULL;
  1921. {T59*n=malloc(sizeof(*n));
  1922. *n=M59;
  1923. r59make(n,(C)->_line/*16*/,(C)->_column/*12*/);
  1924. R=(T0*)n;
  1925. }
  1926. return R;
  1927. }
  1928. T0*oBC71forbidden_class=NULL;
  1929.  
  1930.  
  1931. T6 r71a_manifest_string(T71* C){
  1932. T6 R=0;
  1933. T2 _state=0;
  1934. /*[IF*/
  1935. if(((C)->_cc/*24*/)==('\42')){
  1936. R=1;
  1937. {T174*n=malloc(sizeof(*n));
  1938. *n=M174;
  1939. r174make(n,r71pos((C)->_line/*16*/,(C)->_column/*12*/));
  1940. C->_last_manifest_string=(T0*)n;
  1941. }
  1942. while (!((_state)>(3))) {
  1943. r71next_char(C);
  1944. {int z1=_state;
  1945.  
  1946. if((0==z1)){
  1947. {int z2=(C)->_cc/*24*/;
  1948.  
  1949. if((10==z2)){
  1950. r71fcp(C,((T0*)ms71_91143));
  1951. }
  1952.  else 
  1953. if((34==z2)){
  1954. _state=4;
  1955. }
  1956.  else 
  1957. if((37==z2)){
  1958. _state=1;
  1959. }
  1960.  else{/*[IRF3.5add*/r7extend(((T7*)(((T174*)((C)->_last_manifest_string/*145*/))->_to_string/*8*/)),(C)->_cc/*24*/);
  1961. /*]*/
  1962. }}
  1963. }
  1964.  else 
  1965. if((1==z1)){
  1966. _state=0;
  1967. {int z2=(C)->_cc/*24*/;
  1968.  
  1969. if((10==z2)){
  1970. _state=3;
  1971. }
  1972.  else 
  1973. if((65==z2)){
  1974. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\100');
  1975. }
  1976.  else 
  1977. if((66==z2)){
  1978. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\10');
  1979. }
  1980.  else 
  1981. if((67==z2)){
  1982. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\136');
  1983. }
  1984.  else 
  1985. if((68==z2)){
  1986. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\44');
  1987. }
  1988.  else 
  1989. if((70==z2)){
  1990. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\14');
  1991. }
  1992.  else 
  1993. if((72==z2)){
  1994. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\134');
  1995. }
  1996.  else 
  1997. if((76==z2)){
  1998. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\176');
  1999. }
  2000.  else 
  2001. if((78==z2)){
  2002. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\n');
  2003. }
  2004.  else 
  2005. if((81==z2)){
  2006. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\140');
  2007. }
  2008.  else 
  2009. if((82==z2)){
  2010. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\15');
  2011. }
  2012.  else 
  2013. if((83==z2)){
  2014. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\43');
  2015. }
  2016.  else 
  2017. if((84==z2)){
  2018. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\11');
  2019. }
  2020.  else 
  2021. if((85==z2)){
  2022. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\0');
  2023. }
  2024.  else 
  2025. if((86==z2)){
  2026. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\174');
  2027. }
  2028.  else 
  2029. if((37==z2)){
  2030. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\45');
  2031. }
  2032.  else 
  2033. if((39==z2)){
  2034. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\47');
  2035. }
  2036.  else 
  2037. if((34==z2)){
  2038. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\42');
  2039. }
  2040.  else 
  2041. if((40==z2)){
  2042. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\133');
  2043. }
  2044.  else 
  2045. if((41==z2)){
  2046. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\135');
  2047. }
  2048.  else 
  2049. if((60==z2)){
  2050. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\173');
  2051. }
  2052.  else 
  2053. if((62==z2)){
  2054. r174add_percent((T174*)((C)->_last_manifest_string/*145*/),'\175');
  2055. }
  2056.  else 
  2057. if((47==z2)){
  2058. r71a_ascii_code(C);
  2059. r174add_ascii((T174*)((C)->_last_manifest_string/*145*/),((T3)((C)->_last_ascii_code/*61*/)));
  2060. }
  2061.  else 
  2062. if((9==z2)||(32==z2)){
  2063. _state=2;
  2064. }
  2065.  else{r71fcp(C,((T0*)ms71_45084a));
  2066. _state=0;
  2067. }}
  2068. }
  2069.  else 
  2070. if((2==z1)){
  2071. {int z2=(C)->_cc/*24*/;
  2072.  
  2073. if((10==z2)){
  2074. _state=3;
  2075. }
  2076.  else 
  2077. if((9==z2)||(32==z2)){
  2078. }
  2079.  else{r71fcp(C,((T0*)ms71_192660));
  2080. }}
  2081. }
  2082.  else{{int z2=(C)->_cc/*24*/;
  2083.  
  2084. if((9==z2)||(32==z2)){
  2085. }
  2086.  else 
  2087. if((37==z2)){
  2088. r174break_line((T174*)((C)->_last_manifest_string/*145*/));
  2089. _state=0;
  2090. }
  2091.  else 
  2092. if((10==z2)){
  2093. r71fcp(C,((T0*)ms71_91143));
  2094. _state=0;
  2095. }
  2096.  else{r71fcp(C,((T0*)ms71_204786));
  2097. _state=0;
  2098. }}
  2099. }}
  2100. }
  2101. r71next_char(C);
  2102. r71skip_comments(C);
  2103. }
  2104. /*FI]*/
  2105. return R;
  2106. }
  2107. /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
  2108.  
  2109.  
  2110. void r71a_class_declaration(T71* C){
  2111. T6 _drop_comments_save=0;
  2112. T0* _al=NULL;
  2113. T0* _hc=NULL;
  2114. T0* _sp=NULL;
  2115. r71a_indexing(C);
  2116. /*[IF*/
  2117. if(r71a_keyword(C,((T0*)ms13_10664))){
  2118. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  2119. }
  2120. /*FI]*/
  2121. /*[IF*/
  2122. if(r71a_keyword(C,((T0*)ms13_10840))){
  2123. r63set_is_expanded((T63*)((C)->_last_base_class/*65*/));
  2124. /*[IF*/
  2125. if(r71a_keyword(C,((T0*)ms13_10664))){
  2126. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  2127. }
  2128. /*FI]*/
  2129. }
  2130. /*FI]*/
  2131. /*[IRF3.3set_heading_comment1*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment1)=(r71get_comments(C));
  2132. /*]*/
  2133. /*[IF*/
  2134. if(!(r71a_keyword(C,((T0*)ms13_2745)))){
  2135. r71fcp(C,((T0*)ms71_42300));
  2136. }
  2137. /*FI]*/
  2138. r71a_base_class_name1(C);
  2139. r71a_formal_generic_list(C);
  2140. /*[IF*/
  2141. if(r71a_keyword(C,((T0*)ms13_10928))){
  2142. /*[IF*/
  2143. if(r71a_manifest_string(C)){
  2144. /*[IRF3.3set_obsolete_type_string*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_obsolete_type_string)=((C)->_last_manifest_string/*145*/);
  2145. /*]*/
  2146. }
  2147. else{
  2148. r71fcp(C,((T0*)ms71_125396));
  2149. }
  2150. /*FI]*/
  2151. }
  2152. /*FI]*/
  2153. /*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(r71get_comments(C));
  2154. /*]*/
  2155. /*[IF*/
  2156. if(r71a_keyword(C,((T0*)ms13_9527))){
  2157. r71a_parent_list(C,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),r71get_comments(C));
  2158. }
  2159. /*FI]*/
  2160. while (!(!(r71a_keyword(C,((T0*)ms13_11376))))) {
  2161. r71a_creation_clause(C,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2162. }
  2163. while (!(!(r71a_keyword(C,((T0*)ms13_8785))))) {
  2164. r71a_feature_clause(C);
  2165. }
  2166. _drop_comments_save=(C)->_drop_comments/*4*/;
  2167. C->_drop_comments=0;
  2168. /*[IF*/
  2169. if(r71a_keyword(C,((T0*)ms13_14427))){
  2170. {T59*n=malloc(sizeof(*n));
  2171. *n=M59;
  2172. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2173. _sp=(T0*)n;
  2174. }
  2175. _hc=r71get_comments(C);
  2176. _al=r71a_assertion(C);
  2177. r63set_invariant((T63*)((C)->_last_base_class/*65*/),_sp,_hc,_al);
  2178. }
  2179. /*FI]*/
  2180. /*[IF*/
  2181. if((r71a_keyword(C,((T0*)ms13_951)))||(((C)->_last_keyword/*113*/)==((void*)(((T0*)ms13_951))))){
  2182. /*[IF*/
  2183. if(((C)->_cc/*24*/)==('\73')){
  2184. /*[IRF3.6wcp*/{T71* C1=C;
  2185. T0* b1=((T0*)ms13_41475);
  2186. r71warning(r71current_position(C1),b1);
  2187. }/*]*/
  2188. C->_ok=r71skip1(C,'\73');
  2189. }
  2190. /*FI]*/
  2191. /*[IRF3.3set_end_comment*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_end_comment)=(r71get_comments(C));
  2192. /*]*/
  2193. /*[IF*/
  2194. if(((C)->_cc/*24*/)!=('\0')){
  2195. r71fcp(C,((T0*)ms71_29463));
  2196. }
  2197. /*FI]*/
  2198. }
  2199. else{
  2200. r71fcp(C,((T0*)ms71_117540));
  2201. }
  2202. /*FI]*/
  2203. C->_drop_comments=_drop_comments_save;
  2204. }
  2205. /*No:EIFFEL_PARSER.last_base_class*/
  2206.  
  2207.  
  2208. void r71a_after_a_dot(T71* C,T6 a1,T0* a2){
  2209. T0* _eal=NULL;
  2210. T0* _sfn=NULL;
  2211. /*[IF*/
  2212. if(r71a_identifier(C)){
  2213. /*[IF*/
  2214. if(((r71a_result(C))||(r71a_void(C)))||(r71a_current(C))){
  2215. r21add_position(X109start_position((C)->_last_expression/*97*/));
  2216. r21error((T21*)(oBC12eh),((T0*)ms71_83714));
  2217. }
  2218. /*FI]*/
  2219. _sfn=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  2220. _eal=r71a_actuals(C);
  2221. r71a_r10(C,a1,a2,_sfn,_eal);
  2222. }
  2223. else{
  2224. r71fcp(C,((T0*)ms71_63584));
  2225. }
  2226. /*FI]*/
  2227. }
  2228. /*No:EIFFEL_PARSER.nb_errors*/
  2229.  
  2230.  
  2231. T6 r71a_actual(T71* C){
  2232. T6 R=0;
  2233. /*[IF*/
  2234. if(r71skip1(C,'\44')){
  2235. /*[IF*/
  2236. if(r71a_identifier(C)){
  2237. /*[IF*/
  2238. if(((r71a_result(C))||(r71a_void(C)))||(r71a_current(C))){
  2239. r21add_position(X109start_position((C)->_last_expression/*97*/));
  2240. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_98482);
  2241. r21fatal_error((T21*)(oBC12eh),b1);
  2242. }/*]*/
  2243. }
  2244. else{
  2245. {T163*n=malloc(sizeof(*n));
  2246. *n=M163;
  2247. /*[IRF3.3make*/((((T163*)(n)))->_feature_name)=(r112to_simple_feature_name((T112*)(oBC71tmp_name)));
  2248. /*]*/
  2249. C->_last_expression=(T0*)n;
  2250. }
  2251. R=1;
  2252. }
  2253. /*FI]*/
  2254. }
  2255. else{
  2256. r71fcp(C,((T0*)ms71_98482));
  2257. }
  2258. /*FI]*/
  2259. }
  2260.  else if(r71a_expression(C)){
  2261. R=1;
  2262. }
  2263. /*FI]*/
  2264. return R;
  2265. }
  2266.  
  2267.  
  2268. T6 r71a_infix(T71* C){
  2269. T6 R=0;
  2270. T0* _sp=NULL;
  2271. /*[IF*/
  2272. if(r71a_keyword(C,((T0*)ms13_2785))){
  2273. R=1;
  2274. {T59*n=malloc(sizeof(*n));
  2275. *n=M59;
  2276. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2277. _sp=(T0*)n;
  2278. }
  2279. /*[IF*/
  2280. if(((C)->_cc/*24*/)==('\42')){
  2281. r71next_char(C);
  2282. }
  2283. else{
  2284. /*[IRF3.6wcp*/{T71* C1=C;
  2285. T0* b1=((T0*)ms71_85196);
  2286. r71warning(r71current_position(C1),b1);
  2287. }/*]*/
  2288. }
  2289. /*FI]*/
  2290. /*[IF*/
  2291. if(r71a_binary(C,_sp)){
  2292. C->_last_infix=(C)->_last_binary/*73*/;
  2293. }
  2294.  else if(r71a_free_operator(C)){
  2295. C->_last_infix=r112to_infix_name(_sp);
  2296. }
  2297. else{
  2298. r71fcp(C,((T0*)ms71_53911));
  2299. }
  2300. /*FI]*/
  2301. /*[IF*/
  2302. if(!(r71skip1(C,'\42'))){
  2303. /*[IRF3.6wcp*/{T71* C1=C;
  2304. T0* b1=((T0*)ms71_38352a);
  2305. r71warning(r71current_position(C1),b1);
  2306. }/*]*/
  2307. }
  2308. /*FI]*/
  2309. }
  2310. /*FI]*/
  2311. return R;
  2312. }
  2313. /*No:EIFFEL_PARSER.us_plus*/
  2314. T0*oBC12parser_buffer=NULL;
  2315.  
  2316.  
  2317. void r71a_parent_list(T71* C,T0* a1,T0* a2){
  2318. T0* _list=NULL;
  2319. while (!(!(r71a_parent(C)))) {
  2320. /*[IF*/
  2321. if((_list)==((void*)(NULL))){
  2322. _list=se_ma83(1,
  2323. (C)->_last_parent/*149*/);
  2324. }
  2325. else{
  2326. r83add_last(((T83*)_list),(C)->_last_parent/*149*/);
  2327. }
  2328. /*FI]*/
  2329. C->_ok=r71skip1(C,'\73');
  2330. /*[IRF3.3set_comment*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_comment)=(r71get_comments(C));
  2331. /*]*/
  2332. }
  2333. /*[IF*/
  2334. if(((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))){
  2335. /*[IF*/
  2336. if((_list)==((void*)(NULL))){
  2337. /*[IF*/
  2338. if((((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/)==((void*)(NULL))){
  2339. /*[IRF3.3set_heading_comment2*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_heading_comment2)=(a2);
  2340. /*]*/
  2341. }
  2342. else{
  2343. r85append((T85*)(((T63*)((C)->_last_base_class/*65*/))->_heading_comment2/*32*/),a2);
  2344. }
  2345. /*FI]*/
  2346. }
  2347. else{
  2348. r63set_parent_list((T63*)((C)->_last_base_class/*65*/),a1,a2,_list);
  2349. }
  2350. /*FI]*/
  2351. }
  2352. /*FI]*/
  2353. }
  2354. /*No:EIFFEL_PARSER.fz_check*/
  2355. /*No:EIFFEL_PARSER.us_muls*/
  2356. /*No:EIFFEL_PARSER.cc*/
  2357.  
  2358.  
  2359. void r71prev_char(T71* C){
  2360. /*[IF*/
  2361. if(((C)->_column/*12*/)>(1)){
  2362. C->_column=((C)->_column/*12*/)-(1);
  2363. C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
  2364. }
  2365. else{
  2366. /*[IF*/
  2367. if(((C)->_line/*16*/)>(1)){
  2368. C->_line=((C)->_line/*16*/)-(1);
  2369. C->_current_line=r74item((C)->_line/*16*/);
  2370. C->_column=(((T7*)((C)->_current_line/*20*/))->_count/*4*/)+(1);
  2371. C->_cc='\n';
  2372. }
  2373. else{
  2374. C->_column=0;
  2375. C->_cc='\0';
  2376. }
  2377. /*FI]*/
  2378. }
  2379. /*FI]*/
  2380. }
  2381.  
  2382.  
  2383. T6 r71a_inspect(T71* C){
  2384. T6 R=0;
  2385. T0* _ec=NULL;
  2386. T0* _i=NULL;
  2387. T0* _spec=NULL;
  2388. T0* _sp=NULL;
  2389. /*[IF*/
  2390. if(r71a_keyword(C,((T0*)ms13_9590))){
  2391. R=1;
  2392. {T59*n=malloc(sizeof(*n));
  2393. *n=M59;
  2394. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2395. _sp=(T0*)n;
  2396. }
  2397. /*[IF*/
  2398. if(r71a_expression(C)){
  2399. C->_last_expression=X109add_comment((C)->_last_expression/*97*/,r71get_comments(C));
  2400. }
  2401. else{
  2402. r71fcp(C,((T0*)ms71_82621));
  2403. }
  2404. /*FI]*/
  2405. {T236*n=malloc(sizeof(*n));
  2406. *n=M236;
  2407. r236make(n,_sp,(C)->_last_expression/*97*/);
  2408. _i=(T0*)n;
  2409. }
  2410. while (!(!(r71a_when_part(C,_i)))) {
  2411. }
  2412. /*[IF*/
  2413. if(r71a_keyword(C,((T0*)ms13_1740))){
  2414. {T59*n=malloc(sizeof(*n));
  2415. *n=M59;
  2416. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  2417. _spec=(T0*)n;
  2418. }
  2419. _ec=r71a_compound2(C,((T0*)ms71_33180),((T0*)ms13_951));
  2420. r236set_else_compound(((T236*)_i),_spec,_ec);
  2421. }
  2422.  else if(!(r71a_keyword(C,((T0*)ms13_951)))){
  2423. /*[IRF3.6wcp*/{T71* C1=C;
  2424. T0* b1=((T0*)ms71_76932);
  2425. r71warning(r71current_position(C1),b1);
  2426. }/*]*/
  2427. }
  2428. /*FI]*/
  2429. C->_last_instruction=_i;
  2430. }
  2431. /*FI]*/
  2432. return R;
  2433. }
  2434.  
  2435.  
  2436. T6 r71a_current(T71* C){
  2437. T6 R=0;
  2438. /*[IF*/
  2439. if(r112is_current()){
  2440. {T161*n=malloc(sizeof(*n));
  2441. *n=M161;
  2442. /*[IRF3.3make*/((((T161*)(n)))->_start_position)=(r112start_position((T112*)(oBC71tmp_name)));
  2443. /*]*/
  2444. C->_last_expression=(T0*)n;
  2445. }
  2446. R=1;
  2447. }
  2448. /*FI]*/
  2449. return R;
  2450. }
  2451.  
  2452.  
  2453. void r71a_rename_list(T71* C){
  2454. while (!(!(r71a_rename_pair(C)))) {
  2455. C->_ok=r71skip1(C,'\54');
  2456. }
  2457. }
  2458. /*No:EIFFEL_PARSER.us_or_else*/
  2459. /*No:EIFFEL_PARSER.case_insensitive*/
  2460. /*No:EIFFEL_PARSER.last_comments*/
  2461.  
  2462.  
  2463. void r71next_char(T71* C){
  2464. /*[IF*/
  2465. if(((C)->_column/*12*/)<(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
  2466. C->_column=((C)->_column/*12*/)+(1);
  2467. C->_cc=/*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[((C)->_column/*12*/)-(1)]/*)*/;
  2468. }
  2469.  else if(((C)->_column/*12*/)==(((T7*)((C)->_current_line/*20*/))->_count/*4*/)){
  2470. C->_column=((C)->_column/*12*/)+(1);
  2471. C->_cc='\n';
  2472. }
  2473.  else if(((C)->_line/*16*/)==(((T74*)(oBC12parser_buffer))->_count/*4*/)){
  2474. C->_cc='\0';
  2475. }
  2476. else{
  2477. C->_column=1;
  2478. C->_line=((C)->_line/*16*/)+(1);
  2479. C->_current_line=r74item((C)->_line/*16*/);
  2480. /*[IF*/
  2481. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  2482. C->_cc='\n';
  2483. }
  2484. else{
  2485. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  2486. }
  2487. /*FI]*/
  2488. }
  2489. /*FI]*/
  2490. }
  2491. /*No:EIFFEL_PARSER.us_slash*/
  2492.  
  2493.  
  2494. T6 r71a_unary(T71* C){
  2495. T6 R=0;
  2496. /*[IF*/
  2497. if(r71a_keyword(C,((T0*)ms14_1029))){
  2498. {T145*n=malloc(sizeof(*n));
  2499. *n=M145;
  2500. r145make(n,((T0*)ms14_1029),r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2501. C->_last_prefix=(T0*)n;
  2502. }
  2503. R=1;
  2504. }
  2505.  else if(r71skip1(C,'\53')){
  2506. {T145*n=malloc(sizeof(*n));
  2507. *n=M145;
  2508. r145make(n,((T0*)ms14_44),r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2509. C->_last_prefix=(T0*)n;
  2510. }
  2511. R=1;
  2512. }
  2513.  else if(r71skip1(C,'\55')){
  2514. {T145*n=malloc(sizeof(*n));
  2515. *n=M145;
  2516. r145make(n,((T0*)ms14_46),r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2517. C->_last_prefix=(T0*)n;
  2518. }
  2519. R=1;
  2520. }
  2521. /*FI]*/
  2522. return R;
  2523. }
  2524. /*No:EIFFEL_PARSER.drop_comments*/
  2525. /*No:EIFFEL_PARSER.ok*/
  2526.  
  2527.  
  2528. T0* r71analyse_class(T71* C,T0* a1){
  2529. T0* R=NULL;
  2530. T0* _path=NULL;
  2531. T2 _old_nbw=0;
  2532. T2 _old_nbe=0;
  2533. _path=((T74*)(oBC12parser_buffer))->_path/*0*/;
  2534. /*[IF*/
  2535. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)){
  2536. /*[IRF3.6append*/{T0* b1=((T0*)ms71_63808);
  2537. r7append((T7*)(oBC21explanation),b1);
  2538. }/*]*/
  2539. r21print_as_fatal_error((T21*)(oBC12eh));
  2540. }
  2541. /*FI]*/
  2542. r31put_integer((T31*)(oBC12echo),(/*(IRF4.9base_class_count*/((T65*)(oBC22base_class_dictionary))->_count/*32*//*)*/)+(1));
  2543. r31put_character((T31*)(oBC12echo),'\11');
  2544. r31put_string((T31*)(oBC12echo),_path);
  2545. r31put_character((T31*)(oBC12echo),'\n');
  2546. _old_nbe=/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/;
  2547. _old_nbw=/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/;
  2548. C->_is_running=1;
  2549. C->_inside_function=0;
  2550. C->_inside_once_function=0;
  2551. C->_in_ensure=0;
  2552. C->_last_comments=NULL;
  2553. C->_line=1;
  2554. C->_column=1;
  2555. C->_current_line=r74item((C)->_line/*16*/);
  2556. /*[IF*/
  2557. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  2558. C->_cc='\n';
  2559. }
  2560. else{
  2561. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  2562. }
  2563. /*FI]*/
  2564. {T63*n=malloc(sizeof(*n));
  2565. *n=M63;
  2566. r63make(n);
  2567. C->_last_base_class=(T0*)n;
  2568. }
  2569. r71skip_comments(C);
  2570. r71a_class_declaration(C);
  2571. C->_is_running=0;
  2572. /*[IRF3.3unset_is_ready*/((((T74*)((T74*)(oBC12parser_buffer))))->_path)=(NULL);
  2573. /*]*/
  2574. R=(C)->_last_base_class/*65*/;
  2575. /*[IF*/
  2576. if(((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)-(_old_nbe))>(0)){
  2577. /*[IRF3.2show_nb_errors*/r71show_nb(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/,((T0*)ms71_6567));
  2578. /*]*/
  2579. r31w_put_string(((T0*)ms71_10068));
  2580. r31w_put_string(_path);
  2581. r31w_put_string(((T0*)ms71_5467));
  2582. R=NULL;
  2583. }
  2584.  else if(((/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/)-(_old_nbw))>(0)){
  2585. /*[IRF3.2show_nb_warnings*/r71show_nb(/*(IRF4.9nb_warnings*/((T21*)(oBC12eh))->_nb_warnings/*0*//*)*/,((T0*)ms71_8021));
  2586. /*]*/
  2587. }
  2588. /*FI]*/
  2589. /*[IF*/
  2590. if((R)!=((void*)(NULL))){
  2591. r22add_class((T22*)(oBC12small_eiffel),R);
  2592. /*[IF*/
  2593. if(((a1)!=((void*)(NULL)))&&(((((T70*)a1))->_to_string/*0*/)!=((void*)(((T70*)((((T63*)R))->_name/*24*/))->_to_string/*0*/)))){
  2594. r21add_position((((T70*)a1))->_start_position/*4*/);
  2595. /*[IRF3.6append*/{T0* b1=((T0*)ms13_3810);
  2596. r7append((T7*)(oBC21explanation),b1);
  2597. }/*]*/
  2598. /*[IRF3.6append*/{T0* b1=_path;
  2599. r7append((T7*)(oBC21explanation),b1);
  2600. }/*]*/
  2601. /*[IRF3.6append*/{T0* b1=((T0*)ms71_35397);
  2602. r7append((T7*)(oBC21explanation),b1);
  2603. }/*]*/
  2604. /*[IRF3.6append*/{T0* b1=(((T70*)a1))->_to_string/*0*/;
  2605. r7append((T7*)(oBC21explanation),b1);
  2606. }/*]*/
  2607. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_166);
  2608. r21fatal_error((T21*)(oBC12eh),b1);
  2609. }/*]*/
  2610. }
  2611. /*FI]*/
  2612. r63get_started(((T63*)R));
  2613. }
  2614. /*FI]*/
  2615. return R;
  2616. }
  2617.  
  2618.  
  2619. void r71skip_comments(T71* C){
  2620. T2 _state=0;
  2621. T0* _sp=NULL;
  2622. while (!((_state)==(2))) {
  2623. {int z1=_state;
  2624.  
  2625. if((0==z1)){
  2626. {int z2=(C)->_cc/*24*/;
  2627.  
  2628. if(((9<=z2)&&(z2<=10))||(32==z2)){
  2629. r71next_char(C);
  2630. }
  2631.  else 
  2632. if((45==z2)){
  2633. r71next_char(C);
  2634. _state=1;
  2635. }
  2636.  else{_state=2;
  2637. }}
  2638. }
  2639.  else {{int z2=(C)->_cc/*24*/;
  2640.  
  2641. if((45==z2)){
  2642. /*[IF*/
  2643. if((C)->_drop_comments/*4*/){
  2644. }
  2645. else{
  2646. /*[IF*/
  2647. if(((C)->_last_comments/*25*/)==((void*)(NULL))){
  2648. {T59*n=malloc(sizeof(*n));
  2649. *n=M59;
  2650. r59make(n,(C)->_line/*16*/,((C)->_column/*12*/)-(1));
  2651. _sp=(T0*)n;
  2652. }
  2653. }
  2654. /*FI]*/
  2655. }
  2656. /*FI]*/
  2657. r71next_char(C);
  2658. /*[IRF3.3clear*/((((T7*)((T7*)(oBC71lcs))))->_count)=(0);
  2659. /*]*/
  2660. while (!(((C)->_cc/*24*/)==('\n'))) {
  2661. r7extend((T7*)(oBC71lcs),(C)->_cc/*24*/);
  2662. r71next_char(C);
  2663. }
  2664. /*[IF*/
  2665. if((C)->_drop_comments/*4*/){
  2666. }
  2667. else{
  2668. /*[IF*/
  2669. if(((C)->_last_comments/*25*/)==((void*)(NULL))){
  2670. {T85*n=malloc(sizeof(*n));
  2671. *n=M85;
  2672. r85make(n,_sp,se_ma73(1,
  2673. r7twin((T7*)(oBC71lcs))));
  2674. C->_last_comments=(T0*)n;
  2675. }
  2676. }
  2677. else{
  2678. /*[IRF3.5add_last*/r73add_last(((T73*)(((T85*)((C)->_last_comments/*25*/))->_list/*4*/)),r7twin((T7*)(oBC71lcs)));
  2679. /*]*/
  2680. }
  2681. /*FI]*/
  2682. }
  2683. /*FI]*/
  2684. _state=0;
  2685. }
  2686.  else{r71prev_char(C);
  2687. _state=2;
  2688. }}
  2689. }}
  2690. }
  2691. }
  2692.  
  2693.  
  2694. T6 r71a_local_variable(T71* C){
  2695. T6 R=0;
  2696. T2 _rank=0;
  2697. /*[IF*/
  2698. if(((C)->_local_vars/*53*/)!=((void*)(NULL))){
  2699. _rank=r182rank_of((T182*)((C)->_local_vars/*53*/),r112to_string((T112*)(oBC71tmp_name)));
  2700. /*[IF*/
  2701. if((_rank)>(0)){
  2702. C->_last_expression=r112to_local_name2((T112*)(oBC71tmp_name),(C)->_local_vars/*53*/,_rank);
  2703. R=1;
  2704. }
  2705. /*FI]*/
  2706. }
  2707. /*FI]*/
  2708. return R;
  2709. }
  2710. /*No:EIFFEL_PARSER.start_line*/
  2711.  
  2712.  
  2713. T6 r71a_retry(T71* C){
  2714. T6 R=0;
  2715. /*[IF*/
  2716. if(r71a_keyword(C,((T0*)ms13_2905))){
  2717. /*[IF*/
  2718. if(!((C)->_in_rescue/*45*/)){
  2719. r71error(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/),((T0*)ms71_115380));
  2720. }
  2721. /*FI]*/
  2722. {T235*n=malloc(sizeof(*n));
  2723. *n=M235;
  2724. /*[IRF3.3make*/((((T235*)(n)))->_start_position)=(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2725. /*]*/
  2726. C->_last_instruction=(T0*)n;
  2727. }
  2728. R=1;
  2729. }
  2730. /*FI]*/
  2731. return R;
  2732. }
  2733. /*No:EIFFEL_PARSER.arguments*/
  2734.  
  2735.  
  2736. T6 r71a_e10(T71* C){
  2737. T6 R=0;
  2738. /*[IF*/
  2739. if(r71a_strip(C)){
  2740. R=1;
  2741. }
  2742.  else if(r71skip1(C,'\50')){
  2743. R=1;
  2744. /*[IF*/
  2745. if(r71a_expression(C)){
  2746. /*[IF*/
  2747. if(r71skip1(C,'\51')){
  2748. r71a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
  2749. }
  2750. else{
  2751. r71fcp(C,((T0*)ms71_40743));
  2752. }
  2753. /*FI]*/
  2754. }
  2755. else{
  2756. r71fcp(C,((T0*)ms71_29020));
  2757. }
  2758. /*FI]*/
  2759. }
  2760.  else if(r71a_manifest_constant(C)){
  2761. C->_last_expression=(C)->_last_manifest_constant/*141*/;
  2762. R=1;
  2763. /*[IF*/
  2764. if(r71skip1unless2(C,'\56','\56')){
  2765. /*[IRF3.6wcp*/{T71* C1=C;
  2766. T0* b1=((T0*)ms71_129072);
  2767. r71warning(r71current_position(C1),b1);
  2768. }/*]*/
  2769. r71a_after_a_dot(C,0,(C)->_last_expression/*97*/);
  2770. }
  2771. /*FI]*/
  2772. }
  2773.  else if(r71a_precursor(C,0)){
  2774. R=1;
  2775. }
  2776.  else if(r71a_identifier(C)){
  2777. R=1;
  2778. /*[IF*/
  2779. if(((((r71a_result(C))||(r71a_current(C)))||(r71a_void(C)))||(r71a_local_variable(C)))||(r71a_argument(C))){
  2780. r71a_r10(C,0,(C)->_last_expression/*97*/,NULL,NULL);
  2781. }
  2782. else{
  2783. r71a_function_call(C);
  2784. }
  2785. /*FI]*/
  2786. }
  2787. /*FI]*/
  2788. return R;
  2789. }
  2790. /*No:EIFFEL_PARSER.fz_select*/
  2791.  
  2792.  
  2793. T6 r71a_conditional(T71* C){
  2794. T6 R=0;
  2795. T0* _ifthenelse=NULL;
  2796. /*[IF*/
  2797. if(r71a_keyword(C,((T0*)ms13_420))){
  2798. R=1;
  2799. {T226*n=malloc(sizeof(*n));
  2800. *n=M226;
  2801. /*[IRF3.3make*/((((T226*)(n)))->_start_position)=(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  2802. /*]*/
  2803. _ifthenelse=(T0*)n;
  2804. }
  2805. r71a_then_part_list(C,_ifthenelse);
  2806. /*[IF*/
  2807. if(r71a_keyword(C,((T0*)ms13_1740))){
  2808. /*[IRF3.3set_else_compound*/((((T226*)(((T226*)_ifthenelse))))->_else_compound)=(r71a_compound2(C,((T0*)ms71_13644),((T0*)ms13_951)));
  2809. /*]*/
  2810. }
  2811. else{
  2812. /*[IF*/
  2813. if(!(r71a_keyword(C,((T0*)ms13_951)))){
  2814. /*[IRF3.6wcp*/{T71* C1=C;
  2815. T0* b1=((T0*)ms71_29240);
  2816. r71warning(r71current_position(C1),b1);
  2817. }/*]*/
  2818. }
  2819. /*FI]*/
  2820. }
  2821. /*FI]*/
  2822. C->_last_instruction=_ifthenelse;
  2823. }
  2824. /*FI]*/
  2825. return R;
  2826. }
  2827. /*No:EIFFEL_PARSER.is_running*/
  2828.  
  2829.  
  2830. void r71a_r10(T71* C,T6 a1,T0* a2,T0* a3,T0* a4){
  2831. /*[IF*/
  2832. if(r71skip1unless2(C,'\56','\56')){
  2833. r71a_after_a_dot(C,a1,r71to_call(a2,a3,a4));
  2834. }
  2835. else{
  2836. /*[IF*/
  2837. if(a1){
  2838. C->_last_instruction=r71to_proc_call(C,a2,a3,a4);
  2839. C->_last_expression=NULL;
  2840. }
  2841. else{
  2842. C->_last_expression=r71to_call(a2,a3,a4);
  2843. C->_last_instruction=NULL;
  2844. }
  2845. /*FI]*/
  2846. }
  2847. /*FI]*/
  2848. }
  2849. /*No:EIFFEL_PARSER.last_prefix*/
  2850. T0*oBC71tmp_string=NULL;
  2851. /*No:EIFFEL_PARSER.last_infix*/
  2852. /*No:EIFFEL_PARSER.fz_export*/
  2853.  
  2854.  
  2855. T6 r71a_tag_mark(T71* C){
  2856. T6 R=0;
  2857. /*[IF*/
  2858. if(r71a_identifier(C)){
  2859. /*[IF*/
  2860. if(r71skip1unless2(C,'\72','\75')){
  2861. R=1;
  2862. C->_last_tag_mark=r112to_tag_name((T112*)(oBC71tmp_name));
  2863. }
  2864. else{
  2865. C->_last_tag_mark=NULL;
  2866. r71go_back_at(C,((T112*)(oBC71tmp_name))->_li/*4*/,((T112*)(oBC71tmp_name))->_co/*8*/);
  2867. }
  2868. /*FI]*/
  2869. }
  2870. else{
  2871. C->_last_tag_mark=NULL;
  2872. }
  2873. /*FI]*/
  2874. return R;
  2875. }
  2876. /*No:EIFFEL_PARSER.last_feature_name_list*/
  2877. /*No:EIFFEL_PARSER.last_manifest_constant*/
  2878. /*No:EIFFEL_PARSER.fz_local*/
  2879. /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
  2880. /*No:EIFFEL_PARSER.current_class*/
  2881. /*No:EIFFEL_PARSER.last_tag_mark*/
  2882.  
  2883.  
  2884. void r71a_base_class_name1(T71* C){
  2885. T0* _ccn=NULL;
  2886. T6 _do_warning=0;
  2887. T2 _state=0;
  2888. _ccn=((T63*)((C)->_last_base_class/*65*/))->_name/*24*/;
  2889. /*[IF*/
  2890. if(r3is_letter((C)->_cc/*24*/)){
  2891. r59set_line_column((T59*)((((T70*)_ccn))->_start_position/*4*/),(C)->_line/*16*/,(C)->_column/*12*/);
  2892. r112initialize((T112*)(oBC71tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  2893. /*[IF*/
  2894. if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
  2895. _do_warning=1;
  2896. C->_cc=r3to_upper((C)->_cc/*24*/);
  2897. }
  2898. /*FI]*/
  2899. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  2900. r7extend((T7*)(oBC112tmp_string),b1);
  2901. }/*]*/
  2902. while (!((_state)>(0))) {
  2903. r71next_char(C);
  2904. {int z1=(C)->_cc/*24*/;
  2905.  
  2906. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  2907. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  2908. r7extend((T7*)(oBC112tmp_string),b1);
  2909. }/*]*/
  2910. }
  2911.  else 
  2912. if(((97<=z1)&&(z1<=122))){
  2913. _do_warning=1;
  2914. /*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
  2915. r7extend((T7*)(oBC112tmp_string),b1);
  2916. }/*]*/
  2917. }
  2918.  else{_state=1;
  2919. }}
  2920. }
  2921. r71skip_comments(C);
  2922. /*[IF*/
  2923. if(r112isa_keyword()){
  2924. r21add_position((((T70*)_ccn))->_start_position/*4*/);
  2925. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_71470);
  2926. r21fatal_error((T21*)(oBC12eh),b1);
  2927. }/*]*/
  2928. }
  2929. /*FI]*/
  2930. /*[IF*/
  2931. if(_do_warning){
  2932. r71warning((((T70*)_ccn))->_start_position/*4*/,((T0*)ms71_116415));
  2933. }
  2934. /*FI]*/
  2935. r70identify(((T70*)_ccn),r112to_string((T112*)(oBC71tmp_name)));
  2936. }
  2937. else{
  2938. r71fcp(C,((T0*)ms71_71470));
  2939. }
  2940. /*FI]*/
  2941. /*[IF*/
  2942. if(r73fast_has((T73*)(oBC71forbidden_class),(((T70*)_ccn))->_to_string/*0*/)){
  2943. r21add_position((((T70*)_ccn))->_start_position/*4*/);
  2944. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_44356);
  2945. r21fatal_error((T21*)(oBC12eh),b1);
  2946. }/*]*/
  2947. }
  2948. /*FI]*/
  2949. }
  2950. /*No:EIFFEL_PARSER.fz_01*/
  2951. /*No:EIFFEL_PARSER.fz_03*/
  2952. /*No:EIFFEL_PARSER.fz_iinaiv*/
  2953.  
  2954.  
  2955. T6 r71a_keyword(T71* C,T0* a1){
  2956. T6 R=0;
  2957. T2 _keyword_count=0;
  2958. T2 _i=0;
  2959. _keyword_count=(((T7*)a1))->_count/*4*/;
  2960. C->_start_line=(C)->_line/*16*/;
  2961. C->_start_column=(C)->_column/*12*/;
  2962. while (!(((_i)==(_keyword_count))||(!(r3same_as((C)->_cc/*24*/,/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
  2963. _i=(_i)+(1);
  2964. r71next_char(C);
  2965. }
  2966. /*[IF*/
  2967. if((_i)==(_keyword_count)){
  2968. {int z1=(C)->_cc/*24*/;
  2969.  
  2970. if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
  2971. R=1;
  2972. C->_last_keyword=a1;
  2973. r71skip_comments(C);
  2974. }
  2975.  else 
  2976. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
  2977. while (!((_i)==(0))) {
  2978. r71prev_char(C);
  2979. _i=(_i)-(1);
  2980. }
  2981. }
  2982.  else{R=1;
  2983. C->_last_keyword=a1;
  2984. }}
  2985. }
  2986. else{
  2987. while (!((_i)==(0))) {
  2988. r71prev_char(C);
  2989. _i=(_i)-(1);
  2990. }
  2991. }
  2992. /*FI]*/
  2993. return R;
  2994. }
  2995. /*No:EIFFEL_PARSER.fz_until*/
  2996. /*No:EIFFEL_PARSER.last_binary*/
  2997.  
  2998.  
  2999. T0* r71a_routine_body(T71* C){
  3000. T0* R=NULL;
  3001. /*[IF*/
  3002. if(r71a_keyword(C,((T0*)ms13_10664))){
  3003. r63set_is_deferred((T63*)((C)->_last_base_class/*65*/));
  3004. R=r202to_deferred_routine((T202*)(oBC71tmp_feature));
  3005. }
  3006.  else if(r71a_keyword(C,((T0*)ms13_11448))){
  3007. R=r71a_external(C);
  3008. }
  3009.  else if(r71a_keyword(C,((T0*)ms13_428))){
  3010. /*[IRF3.3set_routine_body*/((((T202*)((T202*)(oBC71tmp_feature))))->_routine_body)=(r71a_compound1(C));
  3011. /*]*/
  3012. R=r202to_procedure_or_function((T202*)(oBC71tmp_feature));
  3013. }
  3014.  else if(r71a_keyword(C,((T0*)ms13_1724a))){
  3015. C->_inside_once_function=1;
  3016. /*[IRF3.3set_routine_body*/((((T202*)((T202*)(oBC71tmp_feature))))->_routine_body)=(r71a_compound1(C));
  3017. /*]*/
  3018. R=r202to_once_routine((T202*)(oBC71tmp_feature));
  3019. }
  3020. else{
  3021. r71fcp(C,((T0*)ms71_34276));
  3022. }
  3023. /*FI]*/
  3024. return R;
  3025. }
  3026. /*No:EIFFEL_PARSER.last_expression*/
  3027. /*No:EIFFEL_PARSER.fz_59*/
  3028.  
  3029.  
  3030. T6 r71a_void(T71* C){
  3031. T6 R=0;
  3032. /*[IF*/
  3033. if(r112is_void()){
  3034. C->_last_expression=r112to_e_void((T112*)(oBC71tmp_name));
  3035. R=1;
  3036. }
  3037. /*FI]*/
  3038. return R;
  3039. }
  3040.  
  3041.  
  3042. T6 r71a_class_type(T71* C){
  3043. T6 R=0;
  3044. T0* _generic_list=NULL;
  3045. T0* _base_class_name=NULL;
  3046. T2 _state=0;
  3047. /*[IF*/
  3048. if(r71a_base_type(C)){
  3049. C->_last_class_type=(C)->_last_base_type/*69*/;
  3050. R=1;
  3051. }
  3052.  else if(r71a_base_class_name(C)){
  3053. R=1;
  3054. _base_class_name=(C)->_last_class_name/*89*/;
  3055. while (!((_state)>(2))) {
  3056. {int z1=_state;
  3057.  
  3058. if((0==z1)){
  3059. /*[IF*/
  3060. if(r71skip1(C,'\133')){
  3061. _state=1;
  3062. }
  3063. else{
  3064. {T277*n=malloc(sizeof(*n));
  3065. *n=M277;
  3066. /*[IRF3.3make*/((((T277*)(n)))->_base_class_name)=(_base_class_name);
  3067. /*]*/
  3068. C->_last_class_type=(T0*)n;
  3069. }
  3070. _state=3;
  3071. }
  3072. /*FI]*/
  3073. }
  3074.  else 
  3075. if((1==z1)){
  3076. /*[IF*/
  3077. if(r71a_type(C)){
  3078. /*[IF*/
  3079. if((_generic_list)==((void*)(NULL))){
  3080. _generic_list=se_ma265(1,
  3081. (C)->_last_type/*157*/);
  3082. }
  3083. else{
  3084. r265add_last(((T265*)_generic_list),(C)->_last_type/*157*/);
  3085. }
  3086. /*FI]*/
  3087. _state=2;
  3088. }
  3089.  else if(((C)->_cc/*24*/)==('\54')){
  3090. /*[IRF3.6wcp*/{T71* C1=C;
  3091. T0* b1=((T0*)ms71_26277);
  3092. r71warning(r71current_position(C1),b1);
  3093. }/*]*/
  3094. C->_ok=r71skip1(C,'\54');
  3095. }
  3096.  else if(((C)->_cc/*24*/)==('\135')){
  3097. _state=2;
  3098. }
  3099. else{
  3100. r71fcp(C,((T0*)ms71_25441));
  3101. _state=2;
  3102. }
  3103. /*FI]*/
  3104. }
  3105.  else{/*[IF*/
  3106. if(r71skip1(C,'\54')){
  3107. _state=1;
  3108. }
  3109.  else if(((C)->_cc/*24*/)==('\135')){
  3110. /*[IF*/
  3111. if((_generic_list)==((void*)(NULL))){
  3112. /*[IRF3.6wcp*/{T71* C1=C;
  3113. T0* b1=((T0*)ms71_54404);
  3114. r71warning(r71current_position(C1),b1);
  3115. }/*]*/
  3116. {T277*n=malloc(sizeof(*n));
  3117. *n=M277;
  3118. /*[IRF3.3make*/((((T277*)(n)))->_base_class_name)=(_base_class_name);
  3119. /*]*/
  3120. C->_last_class_type=(T0*)n;
  3121. }
  3122. }
  3123. else{
  3124. {T278*n=malloc(sizeof(*n));
  3125. *n=M278;
  3126. r278make(n,_base_class_name,_generic_list);
  3127. C->_last_class_type=(T0*)n;
  3128. }
  3129. }
  3130. /*FI]*/
  3131. C->_ok=r71skip1(C,'\135');
  3132. _state=3;
  3133. }
  3134.  else if(r71a_type(C)){
  3135. /*[IF*/
  3136. if((_generic_list)==((void*)(NULL))){
  3137. _generic_list=se_ma265(1,
  3138. (C)->_last_type/*157*/);
  3139. }
  3140. else{
  3141. r265add_last(((T265*)_generic_list),(C)->_last_type/*157*/);
  3142. }
  3143. /*FI]*/
  3144. r71warning(X52start_position((C)->_last_type/*157*/),((T0*)ms71_9410));
  3145. }
  3146. else{
  3147. r71fcp(C,((T0*)ms71_20315));
  3148. _state=3;
  3149. }
  3150. /*FI]*/
  3151. }}
  3152. }
  3153. }
  3154. /*FI]*/
  3155. return R;
  3156. }
  3157. /*No:EIFFEL_PARSER.in_ensure*/
  3158. /*No:EIFFEL_PARSER.fz_end*/
  3159. /*No:EIFFEL_PARSER.fz_external*/
  3160. /*No:EIFFEL_PARSER.inside_function*/
  3161. /*No:EIFFEL_PARSER.us_and*/
  3162.  
  3163.  
  3164. T0* r71a_assertion(T71* C){
  3165. T0* R=NULL;
  3166. T2 _state=0;
  3167. T0* _assertion=NULL;
  3168. T0* _expression=NULL;
  3169. T0* _tag=NULL;
  3170. while (!((_state)>(3))) {
  3171. {int z1=_state;
  3172.  
  3173. if((0==z1)){
  3174. /*[IF*/
  3175. if(((C)->_cc/*24*/)==('\73')){
  3176. /*[IRF3.6wcp*/{T71* C1=C;
  3177. T0* b1=((T0*)ms13_41475);
  3178. r71warning(r71current_position(C1),b1);
  3179. }/*]*/
  3180. C->_ok=r71skip1(C,'\73');
  3181. /*[IF*/
  3182. if(((C)->_last_comments/*25*/)!=((void*)(NULL))){
  3183. {T105*n=malloc(sizeof(*n));
  3184. *n=M105;
  3185. r105make(n,NULL,NULL,r71get_comments(C));
  3186. _assertion=(T0*)n;
  3187. }
  3188. /*[IF*/
  3189. if((R)==((void*)(NULL))){
  3190. R=se_ma108(1,
  3191. _assertion);
  3192. }
  3193. else{
  3194. r108add_last(((T108*)R),_assertion);
  3195. }
  3196. /*FI]*/
  3197. }
  3198. /*FI]*/
  3199. }
  3200.  else if(r71a_tag_mark(C)){
  3201. _tag=(C)->_last_tag_mark/*161*/;
  3202. _state=1;
  3203. }
  3204.  else if(r71a_expression(C)){
  3205. _expression=(C)->_last_expression/*97*/;
  3206. _state=2;
  3207. }
  3208. else{
  3209. _state=4;
  3210. }
  3211. /*FI]*/
  3212. }
  3213.  else 
  3214. if((1==z1)){
  3215. /*[IF*/
  3216. if(r71skip1(C,'\73')){
  3217. {T105*n=malloc(sizeof(*n));
  3218. *n=M105;
  3219. r105make(n,_tag,NULL,r71get_comments(C));
  3220. _assertion=(T0*)n;
  3221. }
  3222. /*[IF*/
  3223. if((R)==((void*)(NULL))){
  3224. R=se_ma108(1,
  3225. _assertion);
  3226. }
  3227. else{
  3228. r108add_last(((T108*)R),_assertion);
  3229. }
  3230. /*FI]*/
  3231. _state=0;
  3232. }
  3233.  else if(r71a_tag_mark(C)){
  3234. {T105*n=malloc(sizeof(*n));
  3235. *n=M105;
  3236. r105make(n,_tag,NULL,r71get_comments(C));
  3237. _assertion=(T0*)n;
  3238. }
  3239. /*[IF*/
  3240. if((R)==((void*)(NULL))){
  3241. R=se_ma108(1,
  3242. _assertion);
  3243. }
  3244. else{
  3245. r108add_last(((T108*)R),_assertion);
  3246. }
  3247. /*FI]*/
  3248. _tag=(C)->_last_tag_mark/*161*/;
  3249. }
  3250.  else if(r71a_expression(C)){
  3251. _expression=(C)->_last_expression/*97*/;
  3252. _state=3;
  3253. }
  3254. else{
  3255. {T105*n=malloc(sizeof(*n));
  3256. *n=M105;
  3257. r105make(n,_tag,NULL,r71get_comments(C));
  3258. _assertion=(T0*)n;
  3259. }
  3260. /*[IF*/
  3261. if((R)==((void*)(NULL))){
  3262. R=se_ma108(1,
  3263. _assertion);
  3264. }
  3265. else{
  3266. r108add_last(((T108*)R),_assertion);
  3267. }
  3268. /*FI]*/
  3269. _state=4;
  3270. }
  3271. /*FI]*/
  3272. }
  3273.  else 
  3274. if((2==z1)){
  3275. /*[IF*/
  3276. if(r71skip1(C,'\73')){
  3277. {T105*n=malloc(sizeof(*n));
  3278. *n=M105;
  3279. r105make(n,NULL,_expression,r71get_comments(C));
  3280. _assertion=(T0*)n;
  3281. }
  3282. /*[IF*/
  3283. if((R)==((void*)(NULL))){
  3284. R=se_ma108(1,
  3285. _assertion);
  3286. }
  3287. else{
  3288. r108add_last(((T108*)R),_assertion);
  3289. }
  3290. /*FI]*/
  3291. _state=0;
  3292. }
  3293.  else if(r71a_tag_mark(C)){
  3294. {T105*n=malloc(sizeof(*n));
  3295. *n=M105;
  3296. r105make(n,NULL,_expression,r71get_comments(C));
  3297. _assertion=(T0*)n;
  3298. }
  3299. /*[IF*/
  3300. if((R)==((void*)(NULL))){
  3301. R=se_ma108(1,
  3302. _assertion);
  3303. }
  3304. else{
  3305. r108add_last(((T108*)R),_assertion);
  3306. }
  3307. /*FI]*/
  3308. _tag=(C)->_last_tag_mark/*161*/;
  3309. _state=1;
  3310. }
  3311.  else if(r71a_expression(C)){
  3312. {T105*n=malloc(sizeof(*n));
  3313. *n=M105;
  3314. r105make(n,NULL,_expression,r71get_comments(C));
  3315. _assertion=(T0*)n;
  3316. }
  3317. /*[IF*/
  3318. if((R)==((void*)(NULL))){
  3319. R=se_ma108(1,
  3320. _assertion);
  3321. }
  3322. else{
  3323. r108add_last(((T108*)R),_assertion);
  3324. }
  3325. /*FI]*/
  3326. _expression=(C)->_last_expression/*97*/;
  3327. _state=2;
  3328. }
  3329. else{
  3330. {T105*n=malloc(sizeof(*n));
  3331. *n=M105;
  3332. r105make(n,NULL,_expression,r71get_comments(C));
  3333. _assertion=(T0*)n;
  3334. }
  3335. /*[IF*/
  3336. if((R)==((void*)(NULL))){
  3337. R=se_ma108(1,
  3338. _assertion);
  3339. }
  3340. else{
  3341. r108add_last(((T108*)R),_assertion);
  3342. }
  3343. /*FI]*/
  3344. _state=4;
  3345. }
  3346. /*FI]*/
  3347. }
  3348.  else{/*[IF*/
  3349. if(r71skip1(C,'\73')){
  3350. {T105*n=malloc(sizeof(*n));
  3351. *n=M105;
  3352. r105make(n,_tag,_expression,r71get_comments(C));
  3353. _assertion=(T0*)n;
  3354. }
  3355. /*[IF*/
  3356. if((R)==((void*)(NULL))){
  3357. R=se_ma108(1,
  3358. _assertion);
  3359. }
  3360. else{
  3361. r108add_last(((T108*)R),_assertion);
  3362. }
  3363. /*FI]*/
  3364. _state=0;
  3365. }
  3366.  else if(r71a_tag_mark(C)){
  3367. {T105*n=malloc(sizeof(*n));
  3368. *n=M105;
  3369. r105make(n,_tag,_expression,r71get_comments(C));
  3370. _assertion=(T0*)n;
  3371. }
  3372. /*[IF*/
  3373. if((R)==((void*)(NULL))){
  3374. R=se_ma108(1,
  3375. _assertion);
  3376. }
  3377. else{
  3378. r108add_last(((T108*)R),_assertion);
  3379. }
  3380. /*FI]*/
  3381. _tag=(C)->_last_tag_mark/*161*/;
  3382. _state=1;
  3383. }
  3384.  else if(r71a_expression(C)){
  3385. {T105*n=malloc(sizeof(*n));
  3386. *n=M105;
  3387. r105make(n,_tag,_expression,r71get_comments(C));
  3388. _assertion=(T0*)n;
  3389. }
  3390. /*[IF*/
  3391. if((R)==((void*)(NULL))){
  3392. R=se_ma108(1,
  3393. _assertion);
  3394. }
  3395. else{
  3396. r108add_last(((T108*)R),_assertion);
  3397. }
  3398. /*FI]*/
  3399. _expression=(C)->_last_expression/*97*/;
  3400. _state=2;
  3401. }
  3402. else{
  3403. {T105*n=malloc(sizeof(*n));
  3404. *n=M105;
  3405. r105make(n,_tag,_expression,r71get_comments(C));
  3406. _assertion=(T0*)n;
  3407. }
  3408. /*[IF*/
  3409. if((R)==((void*)(NULL))){
  3410. R=se_ma108(1,
  3411. _assertion);
  3412. }
  3413. else{
  3414. r108add_last(((T108*)R),_assertion);
  3415. }
  3416. /*FI]*/
  3417. _state=4;
  3418. }
  3419. /*FI]*/
  3420. }}
  3421. }
  3422. return R;
  3423. }
  3424. /*No:EIFFEL_PARSER.in_rescue*/
  3425. /*No:EIFFEL_PARSER.fz_old*/
  3426.  
  3427.  
  3428. T6 r71a_feature_name(T71* C){
  3429. T6 R=0;
  3430. /*[IF*/
  3431. if(r71a_prefix(C)){
  3432. C->_last_feature_name=(C)->_last_prefix/*125*/;
  3433. R=1;
  3434. }
  3435.  else if(r71a_infix(C)){
  3436. C->_last_feature_name=(C)->_last_infix/*121*/;
  3437. R=1;
  3438. }
  3439.  else if(r71a_identifier(C)){
  3440. C->_last_feature_name=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  3441. R=1;
  3442. }
  3443. /*FI]*/
  3444. return R;
  3445. }
  3446.  
  3447.  
  3448. T6 r71a_feature_declaration(T71* C){
  3449. T6 R=0;
  3450. r202initialize((T202*)(oBC71tmp_feature));
  3451. /*[IF*/
  3452. if(r71a_keyword(C,((T0*)ms13_7350))){
  3453. /*[IF*/
  3454. if(r71a_feature_name(C)){
  3455. R=1;
  3456. r71to_frozen_feature_name(C);
  3457. r202add_synonym((C)->_last_feature_name/*105*/);
  3458. }
  3459. else{
  3460. r71fcp(C,((T0*)ms71_33616));
  3461. }
  3462. /*FI]*/
  3463. }
  3464.  else if(r71a_feature_name(C)){
  3465. R=1;
  3466. r202add_synonym((C)->_last_feature_name/*105*/);
  3467. }
  3468. /*FI]*/
  3469. while (!(!(r71skip1(C,'\54')))) {
  3470. /*[IF*/
  3471. if(r71a_keyword(C,((T0*)ms13_7350))){
  3472. /*[IF*/
  3473. if(r71a_feature_name(C)){
  3474. r71to_frozen_feature_name(C);
  3475. r202add_synonym((C)->_last_feature_name/*105*/);
  3476. }
  3477. else{
  3478. r71fcp(C,((T0*)ms71_82695));
  3479. }
  3480. /*FI]*/
  3481. }
  3482.  else if(r71a_feature_name(C)){
  3483. r202add_synonym((C)->_last_feature_name/*105*/);
  3484. }
  3485. else{
  3486. /*[IRF3.6ecp*/{T71* C1=C;
  3487. T0* b1=((T0*)ms71_57900);
  3488. r71error(r71current_position(C1),b1);
  3489. }/*]*/
  3490. }
  3491. /*FI]*/
  3492. }
  3493. /*[IF*/
  3494. if(R){
  3495. r71a_formal_arg_list(C);
  3496. /*[IF*/
  3497. if(r71skip1(C,'\72')){
  3498. /*[IF*/
  3499. if(r71a_type(C)){
  3500. C->_inside_function=1;
  3501. /*[IRF3.3set_type*/((((T202*)((T202*)(oBC71tmp_feature))))->_type)=((C)->_last_type/*157*/);
  3502. /*]*/
  3503. }
  3504. else{
  3505. r71fcp(C,((T0*)ms71_25441));
  3506. }
  3507. /*FI]*/
  3508. }
  3509. else{
  3510. C->_inside_function=0;
  3511. }
  3512. /*FI]*/
  3513. /*[IF*/
  3514. if(r71a_keyword(C,((T0*)ms13_446))){
  3515. /*[IF*/
  3516. if(r71a_keyword(C,((T0*)ms13_7098))){
  3517. C->_last_feature_declaration=r202to_cst_att_unique((T202*)(oBC71tmp_feature));
  3518. }
  3519.  else if(r71a_boolean_constant(C)){
  3520. C->_last_feature_declaration=r202to_cst_att_boolean((T202*)(oBC71tmp_feature),(C)->_last_boolean_constant/*81*/);
  3521. }
  3522.  else if(r71a_character_constant(C)){
  3523. C->_last_feature_declaration=r202to_cst_att_character((T202*)(oBC71tmp_feature),(C)->_last_character_constant/*85*/);
  3524. }
  3525.  else if(r71a_manifest_string(C)){
  3526. C->_last_feature_declaration=r202to_cst_att_string((T202*)(oBC71tmp_feature),(C)->_last_manifest_string/*145*/);
  3527. }
  3528.  else if(r71a_bit_constant(C)){
  3529. C->_last_feature_declaration=r202to_cst_att_bit((T202*)(oBC71tmp_feature),(C)->_last_bit_constant/*77*/);
  3530. }
  3531.  else if(r71a_real_constant(C)){
  3532. C->_last_feature_declaration=r202to_cst_att_real((T202*)(oBC71tmp_feature),(C)->_last_real_constant/*153*/);
  3533. }
  3534.  else if(r71a_integer_constant(C)){
  3535. C->_last_feature_declaration=r202to_cst_att_integer((T202*)(oBC71tmp_feature),(C)->_last_integer_constant/*129*/);
  3536. }
  3537. else{
  3538. C->_last_feature_declaration=r71a_routine(C);
  3539. }
  3540. /*FI]*/
  3541. }
  3542. else{
  3543. C->_last_feature_declaration=r202to_writable_attribute((T202*)(oBC71tmp_feature));
  3544. }
  3545. /*FI]*/
  3546. C->_inside_function=0;
  3547. C->_inside_once_function=0;
  3548. C->_arguments=NULL;
  3549. }
  3550. /*FI]*/
  3551. return R;
  3552. }
  3553.  
  3554.  
  3555. void r71a_ascii_code(T71* C){
  3556. T2 _counter=0;
  3557. r71next_char(C);
  3558. _counter=0;
  3559. C->_last_ascii_code=0;
  3560. while (!(((_counter)>(3))||(((C)->_cc/*24*/)==('\57')))) {
  3561. {int z1=(C)->_cc/*24*/;
  3562.  
  3563. if(((48<=z1)&&(z1<=57))){
  3564. C->_last_ascii_code=(((C)->_last_ascii_code/*61*/)*(10))+(r3value((C)->_cc/*24*/));
  3565. }
  3566.  else{r71fcp(C,((T0*)ms71_75355));
  3567. }}
  3568. _counter=(_counter)+(1);
  3569. r71next_char(C);
  3570. }
  3571. /*[IF*/
  3572. if((_counter)==(0)){
  3573. r71fcp(C,((T0*)ms71_37500));
  3574. }
  3575.  else if((_counter)>(3)){
  3576. r71fcp(C,((T0*)ms71_98605));
  3577. }
  3578. else{
  3579. }
  3580. /*FI]*/
  3581. }
  3582. /*No:EIFFEL_PARSER.em1*/
  3583. /*No:EIFFEL_PARSER.em2*/
  3584. /*No:EIFFEL_PARSER.fz_ensure*/
  3585. /*No:EIFFEL_PARSER.last_index_value*/
  3586. /*No:EIFFEL_PARSER.em3*/
  3587. /*No:EIFFEL_PARSER.em4*/
  3588.  
  3589.  
  3590. T0* r71to_proc_call(T71* C,T0* a1,T0* a2,T0* a3){
  3591. T0* R=NULL;
  3592. /*[IF*/
  3593. if((a2)==((void*)(NULL))){
  3594. r71fcp(C,((T0*)ms71_198189));
  3595. }
  3596.  else if((a3)==((void*)(NULL))){
  3597. {T166*n=malloc(sizeof(*n));
  3598. *n=M166;
  3599. r166make(n,a1,a2);
  3600. R=(T0*)n;
  3601. }
  3602. }
  3603.  else if((r152count(((T152*)a3)))==(1)){
  3604. {T167*n=malloc(sizeof(*n));
  3605. *n=M167;
  3606. r167make(n,a1,a2,a3);
  3607. R=(T0*)n;
  3608. }
  3609. }
  3610. else{
  3611. {T168*n=malloc(sizeof(*n));
  3612. *n=M168;
  3613. r168make(n,a1,a2,a3);
  3614. R=(T0*)n;
  3615. }
  3616. }
  3617. /*FI]*/
  3618. return R;
  3619. }
  3620. /*No:EIFFEL_PARSER.em5*/
  3621. /*No:EIFFEL_PARSER.last_type*/
  3622. /*No:EIFFEL_PARSER.em6*/
  3623. /*No:EIFFEL_PARSER.em7*/
  3624.  
  3625.  
  3626. T6 r71a_index_value(T71* C){
  3627. T6 R=0;
  3628. /*[IF*/
  3629. if(r71a_identifier(C)){
  3630. C->_last_index_value=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  3631. R=1;
  3632. }
  3633.  else if(r71a_manifest_constant(C)){
  3634. C->_last_index_value=(C)->_last_manifest_constant/*141*/;
  3635. R=1;
  3636. }
  3637. /*FI]*/
  3638. return R;
  3639. }
  3640.  
  3641.  
  3642. T6 r71a_expression(T71* C){
  3643. T6 R=0;
  3644. T0* _list=NULL;
  3645. T0* _sp=NULL;
  3646. /*[IF*/
  3647. if(r71skip2(C,'\74','\74')){
  3648. R=1;
  3649. {T59*n=malloc(sizeof(*n));
  3650. *n=M59;
  3651. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3652. _sp=(T0*)n;
  3653. }
  3654. while (!(!(r71a_expression(C)))) {
  3655. /*[IF*/
  3656. if((_list)==((void*)(NULL))){
  3657. _list=se_ma114(1,
  3658. (C)->_last_expression/*97*/);
  3659. }
  3660. else{
  3661. X114add_last(_list,(C)->_last_expression/*97*/);
  3662. }
  3663. /*FI]*/
  3664. C->_ok=r71skip1(C,'\54');
  3665. }
  3666. /*[IF*/
  3667. if(!(r71skip2(C,'\76','\76'))){
  3668. r71fcp(C,((T0*)ms71_57753));
  3669. }
  3670. /*FI]*/
  3671. {T113*n=malloc(sizeof(*n));
  3672. *n=M113;
  3673. r113make(n,_sp,_list);
  3674. C->_last_expression=(T0*)n;
  3675. }
  3676. }
  3677. else{
  3678. R=r71a_e0(C);
  3679. }
  3680. /*FI]*/
  3681. return R;
  3682. }
  3683. /*No:EIFFEL_PARSER.em8*/
  3684. /*No:EIFFEL_PARSER.em9*/
  3685.  
  3686.  
  3687. T6 r71a_feature_name_list(T71* C){
  3688. T6 R=0;
  3689. T2 _state=0;
  3690. C->_last_feature_name_list=NULL;
  3691. while (!((_state)>=(3))) {
  3692. {int z1=_state;
  3693.  
  3694. if((0==z1)){
  3695. /*[IF*/
  3696. if(r71a_feature_name(C)){
  3697. {T87*n=malloc(sizeof(*n));
  3698. *n=M87;
  3699. /*[IRF3.3make_1*/((((T87*)(n)))->_first)=((C)->_last_feature_name/*105*/);
  3700. /*]*/
  3701. C->_last_feature_name_list=(T0*)n;
  3702. }
  3703. R=1;
  3704. _state=1;
  3705. }
  3706.  else if(((C)->_cc/*24*/)==('\54')){
  3707. /*[IRF3.6wcp*/{T71* C1=C;
  3708. T0* b1=((T0*)ms71_48195);
  3709. r71warning(r71current_position(C1),b1);
  3710. }/*]*/
  3711. C->_ok=r71skip1(C,'\54');
  3712. }
  3713. else{
  3714. _state=3;
  3715. }
  3716. /*FI]*/
  3717. }
  3718.  else 
  3719. if((1==z1)){
  3720. /*[IF*/
  3721. if(((C)->_cc/*24*/)==('\54')){
  3722. C->_ok=r71skip1(C,'\54');
  3723. _state=2;
  3724. }
  3725.  else if(r71a_feature_name(C)){
  3726. r71warning(X50start_position((C)->_last_feature_name/*105*/),((T0*)ms71_9410));
  3727. r87add_last((T87*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
  3728. }
  3729. else{
  3730. _state=3;
  3731. }
  3732. /*FI]*/
  3733. }
  3734.  else {/*[IF*/
  3735. if(r71a_feature_name(C)){
  3736. r87add_last((T87*)((C)->_last_feature_name_list/*109*/),(C)->_last_feature_name/*105*/);
  3737. _state=1;
  3738. }
  3739.  else if(((C)->_cc/*24*/)==('\54')){
  3740. /*[IRF3.6wcp*/{T71* C1=C;
  3741. T0* b1=((T0*)ms71_26277);
  3742. r71warning(r71current_position(C1),b1);
  3743. }/*]*/
  3744. C->_ok=r71skip1(C,'\54');
  3745. }
  3746. else{
  3747. /*[IRF3.6ecp*/{T71* C1=C;
  3748. T0* b1=((T0*)ms71_33616);
  3749. r71error(r71current_position(C1),b1);
  3750. }/*]*/
  3751. _state=3;
  3752. }
  3753. /*FI]*/
  3754. }}
  3755. }
  3756. return R;
  3757. }
  3758.  
  3759.  
  3760. T6 r71a_type(T71* C){
  3761. T6 R=0;
  3762. T0* _argument_name2=NULL;
  3763. T0* _sp=NULL;
  3764. R=1;
  3765. /*[IF*/
  3766. if(r71a_keyword(C,((T0*)ms13_1724))){
  3767. {T59*n=malloc(sizeof(*n));
  3768. *n=M59;
  3769. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3770. _sp=(T0*)n;
  3771. }
  3772. /*[IF*/
  3773. if(r71a_infix(C)){
  3774. {T259*n=malloc(sizeof(*n));
  3775. *n=M259;
  3776. r259make(n,_sp,(C)->_last_infix/*121*/);
  3777. C->_last_type=(T0*)n;
  3778. }
  3779. }
  3780.  else if(r71a_prefix(C)){
  3781. {T259*n=malloc(sizeof(*n));
  3782. *n=M259;
  3783. r259make(n,_sp,(C)->_last_prefix/*125*/);
  3784. C->_last_type=(T0*)n;
  3785. }
  3786. }
  3787.  else if(r71a_identifier(C)){
  3788. /*[IF*/
  3789. if(r71a_current(C)){
  3790. {T261*n=malloc(sizeof(*n));
  3791. *n=M261;
  3792. /*[IRF3.3make*/((((T261*)(n)))->_start_position)=(_sp);
  3793. /*]*/
  3794. C->_last_type=(T0*)n;
  3795. }
  3796. }
  3797.  else if(r71a_argument(C)){
  3798. _argument_name2=(C)->_last_expression/*97*/;
  3799. if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
  3800. case 192: 
  3801. break;
  3802. default:
  3803. _argument_name2=NULL;
  3804. };{T262*n=malloc(sizeof(*n));
  3805. *n=M262;
  3806. r262make(n,_sp,_argument_name2);
  3807. C->_last_type=(T0*)n;
  3808. }
  3809. }
  3810. else{
  3811. {T259*n=malloc(sizeof(*n));
  3812. *n=M259;
  3813. r259make(n,_sp,r112to_simple_feature_name((T112*)(oBC71tmp_name)));
  3814. C->_last_type=(T0*)n;
  3815. }
  3816. }
  3817. /*FI]*/
  3818. }
  3819. else{
  3820. r71fcp(C,((T0*)ms71_350632));
  3821. }
  3822. /*FI]*/
  3823. }
  3824.  else if(r71a_keyword(C,((T0*)ms13_10840))){
  3825. {T59*n=malloc(sizeof(*n));
  3826. *n=M59;
  3827. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3828. _sp=(T0*)n;
  3829. }
  3830. /*[IF*/
  3831. if(r71a_class_type(C)){
  3832. {T279*n=malloc(sizeof(*n));
  3833. *n=M279;
  3834. r279make(n,_sp,(C)->_last_class_type/*93*/);
  3835. C->_last_type=(T0*)n;
  3836. }
  3837. }
  3838. else{
  3839. r71fcp(C,((T0*)ms71_92480));
  3840. }
  3841. /*FI]*/
  3842. }
  3843.  else if(r71a_keyword(C,((T0*)ms14_687))){
  3844. {T59*n=malloc(sizeof(*n));
  3845. *n=M59;
  3846. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3847. _sp=(T0*)n;
  3848. }
  3849. /*[IF*/
  3850. if(r71a_integer(C)){
  3851. {T280*n=malloc(sizeof(*n));
  3852. *n=M280;
  3853. r280make(n,_sp,(C)->_last_integer_constant/*129*/);
  3854. C->_last_type=(T0*)n;
  3855. }
  3856. }
  3857.  else if(r71a_identifier(C)){
  3858. {T282*n=malloc(sizeof(*n));
  3859. *n=M282;
  3860. r282make(n,_sp,r112to_simple_feature_name((T112*)(oBC71tmp_name)));
  3861. C->_last_type=(T0*)n;
  3862. }
  3863. }
  3864. else{
  3865. r71fcp(C,((T0*)ms71_116370));
  3866. }
  3867. /*FI]*/
  3868. }
  3869.  else if(r71a_type_formal_generic(C)){
  3870. C->_last_type=(C)->_last_type_formal_generic/*117*/;
  3871. }
  3872.  else if(r71a_class_type(C)){
  3873. C->_last_type=(C)->_last_class_type/*93*/;
  3874. }
  3875. else{
  3876. R=0;
  3877. }
  3878. /*FI]*/
  3879. return R;
  3880. }
  3881. /*No:EIFFEL_PARSER.fz_rename*/
  3882. /*No:EIFFEL_PARSER.fz_rescue*/
  3883.  
  3884.  
  3885. T0* r71a_routine(T71* C){
  3886. T0* R=NULL;
  3887. T0* _ea=NULL;
  3888. T0* _al=NULL;
  3889. T0* _hc=NULL;
  3890. T0* _sp=NULL;
  3891. /*[IF*/
  3892. if(r71a_keyword(C,((T0*)ms13_10928))){
  3893. /*[IF*/
  3894. if(r71a_manifest_string(C)){
  3895. /*[IRF3.3set_obsolete_mark*/((((T202*)((T202*)(oBC71tmp_feature))))->_obsolete_mark)=((C)->_last_manifest_string/*145*/);
  3896. /*]*/
  3897. }
  3898. else{
  3899. r71fcp(C,((T0*)ms71_71060));
  3900. }
  3901. /*FI]*/
  3902. }
  3903. /*FI]*/
  3904. /*[IRF3.3set_header_comment*/((((T202*)((T202*)(oBC71tmp_feature))))->_header_comment)=(r71get_comments(C));
  3905. /*]*/
  3906. /*[IF*/
  3907. if(r71a_keyword(C,((T0*)ms13_8904))){
  3908. {T59*n=malloc(sizeof(*n));
  3909. *n=M59;
  3910. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3911. _sp=(T0*)n;
  3912. }
  3913. /*[IF*/
  3914. if(r71a_keyword(C,((T0*)ms13_1740))){
  3915. _hc=r71get_comments(C);
  3916. r202set_require_else((T202*)(oBC71tmp_feature),_sp,_hc,r71a_assertion(C));
  3917. }
  3918. else{
  3919. _hc=r71get_comments(C);
  3920. r202set_require((T202*)(oBC71tmp_feature),_sp,_hc,r71a_assertion(C));
  3921. }
  3922. /*FI]*/
  3923. }
  3924. /*FI]*/
  3925. /*[IF*/
  3926. if(r71a_keyword(C,((T0*)ms13_2690a))){
  3927. r71a_local_var_list(C);
  3928. }
  3929. /*FI]*/
  3930. R=r71a_routine_body(C);
  3931. /*[IF*/
  3932. if(r71a_keyword(C,((T0*)ms13_7068))){
  3933. {T59*n=malloc(sizeof(*n));
  3934. *n=M59;
  3935. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  3936. _sp=(T0*)n;
  3937. }
  3938. C->_in_ensure=1;
  3939. /*[IF*/
  3940. if(r71a_keyword(C,((T0*)ms13_1764))){
  3941. _hc=r71get_comments(C);
  3942. _al=r71a_assertion(C);
  3943. /*[IF*/
  3944. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  3945. {T219*n=malloc(sizeof(*n));
  3946. *n=M219;
  3947. r219make(n,_sp,_hc,_al);
  3948. _ea=(T0*)n;
  3949. }
  3950. /*[IRF3.3set_ensure_then*/((((T219*)(((T219*)_ea))))->_is_ensure_then)=(1);
  3951. /*]*/
  3952. }
  3953. /*FI]*/
  3954. X218set_ensure_assertion(R,_ea);
  3955. }
  3956. else{
  3957. _hc=r71get_comments(C);
  3958. _al=r71a_assertion(C);
  3959. /*[IF*/
  3960. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  3961. {T219*n=malloc(sizeof(*n));
  3962. *n=M219;
  3963. r219make(n,_sp,_hc,_al);
  3964. _ea=(T0*)n;
  3965. }
  3966. }
  3967. /*FI]*/
  3968. X218set_ensure_assertion(R,_ea);
  3969. }
  3970. /*FI]*/
  3971. C->_in_ensure=0;
  3972. }
  3973. /*FI]*/
  3974. /*[IF*/
  3975. if(r71a_keyword(C,((T0*)ms13_7002))){
  3976. C->_in_rescue=1;
  3977. X218set_rescue_compound(R,r71a_compound2(C,((T0*)ms13_7002),((T0*)ms13_951)));
  3978. C->_in_rescue=0;
  3979. }
  3980. else{
  3981. /*[IF*/
  3982. if(!(r71a_keyword(C,((T0*)ms13_951)))){
  3983. /*[IRF3.6wcp*/{T71* C1=C;
  3984. T0* b1=((T0*)ms71_72240);
  3985. r71warning(r71current_position(C1),b1);
  3986. }/*]*/
  3987. }
  3988. /*FI]*/
  3989. }
  3990. /*FI]*/
  3991. C->_local_vars=NULL;
  3992. return R;
  3993. }
  3994.  
  3995.  
  3996. T6 r71a_creation(T71* C){
  3997. T6 R=0;
  3998. T2 _state=0;
  3999. T0* _call=NULL;
  4000. T0* _proc_name=NULL;
  4001. T0* _writable=NULL;
  4002. T0* _type=NULL;
  4003. T0* _sp=NULL;
  4004. while (!((_state)>(6))) {
  4005. {int z1=_state;
  4006.  
  4007. if((0==z1)){
  4008. /*[IF*/
  4009. if(r71skip1(C,'\41')){
  4010. {T59*n=malloc(sizeof(*n));
  4011. *n=M59;
  4012. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4013. _sp=(T0*)n;
  4014. }
  4015. _state=1;
  4016. }
  4017. else{
  4018. _state=7;
  4019. }
  4020. /*FI]*/
  4021. }
  4022.  else 
  4023. if((1==z1)){
  4024. /*[IF*/
  4025. if(r71a_type(C)){
  4026. _type=(C)->_last_type/*157*/;
  4027. /*[IF*/
  4028. if(X52is_anchored(_type)){
  4029. r71warning(X52start_position(_type),((T0*)ms71_136367));
  4030. }
  4031. /*FI]*/
  4032. _state=2;
  4033. }
  4034.  else if(r71skip1(C,'\41')){
  4035. _state=3;
  4036. }
  4037. else{
  4038. r71fcp(C,((T0*)ms71_74340));
  4039. _state=8;
  4040. }
  4041. /*FI]*/
  4042. }
  4043.  else 
  4044. if((2==z1)){
  4045. /*[IF*/
  4046. if(r71skip1(C,'\41')){
  4047. _state=3;
  4048. }
  4049. else{
  4050. _state=8;
  4051. r71fcp(C,((T0*)ms71_47516));
  4052. }
  4053. /*FI]*/
  4054. }
  4055.  else 
  4056. if((3==z1)){
  4057. /*[IF*/
  4058. if(r71a_identifier(C)){
  4059. /*[IF*/
  4060. if(r71a_current(C)){
  4061. _state=8;
  4062. r71error(X109start_position((C)->_last_expression/*97*/),((T0*)ms71_74830));
  4063. }
  4064.  else if(r71a_argument(C)){
  4065. _state=8;
  4066. r71error(X109start_position((C)->_last_expression/*97*/),((T0*)ms71_112905));
  4067. }
  4068.  else if((r71a_result(C))||(r71a_local_variable(C))){
  4069. _writable=(C)->_last_expression/*97*/;
  4070. _state=4;
  4071. }
  4072. else{
  4073. _writable=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  4074. _state=4;
  4075. }
  4076. /*FI]*/
  4077. }
  4078. else{
  4079. _state=8;
  4080. r71fcp(C,((T0*)ms71_63591));
  4081. }
  4082. /*FI]*/
  4083. }
  4084.  else 
  4085. if((4==z1)){
  4086. /*[IF*/
  4087. if(r71skip1unless2(C,'\56','\56')){
  4088. _state=5;
  4089. }
  4090. else{
  4091. _state=7;
  4092. }
  4093. /*FI]*/
  4094. }
  4095.  else 
  4096. if((5==z1)){
  4097. /*[IF*/
  4098. if(r71a_identifier(C)){
  4099. _proc_name=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  4100. _state=6;
  4101. }
  4102. else{
  4103. _state=8;
  4104. r71fcp(C,((T0*)ms71_85917));
  4105. }
  4106. /*FI]*/
  4107. }
  4108.  else{/*[IF*/
  4109. if(((C)->_cc/*24*/)==('\50')){
  4110. _call=r71to_proc_call(C,_writable,_proc_name,r71a_actuals(C));
  4111. }
  4112. else{
  4113. {T166*n=malloc(sizeof(*n));
  4114. *n=M166;
  4115. r166make(n,_writable,_proc_name);
  4116. _call=(T0*)n;
  4117. }
  4118. }
  4119. /*FI]*/
  4120. _state=7;
  4121. }}
  4122. }
  4123. /*[IF*/
  4124. if(((_state)==(7))&&((_sp)!=((void*)(NULL)))){
  4125. R=1;
  4126. /*[IF*/
  4127. if(((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))){
  4128. {T251*n=malloc(sizeof(*n));
  4129. *n=M251;
  4130. r251make(n,_sp,_writable);
  4131. C->_last_instruction=(T0*)n;
  4132. }
  4133. }
  4134.  else if(((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))){
  4135. {T254*n=malloc(sizeof(*n));
  4136. *n=M254;
  4137. r254make(n,_sp,_type,_writable);
  4138. C->_last_instruction=(T0*)n;
  4139. }
  4140. }
  4141.  else if(((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))){
  4142. {T256*n=malloc(sizeof(*n));
  4143. *n=M256;
  4144. r256make(n,_sp,_writable,_call);
  4145. C->_last_instruction=(T0*)n;
  4146. }
  4147. }
  4148. else{
  4149. {T258*n=malloc(sizeof(*n));
  4150. *n=M258;
  4151. r258make(n,_sp,_type,_writable,_call);
  4152. C->_last_instruction=(T0*)n;
  4153. }
  4154. }
  4155. /*FI]*/
  4156. }
  4157. /*FI]*/
  4158. return R;
  4159. }
  4160.  
  4161.  
  4162. T6 r71a_real(T71* C){
  4163. T6 R=0;
  4164. T2 _c=0;
  4165. T2 _l=0;
  4166. T2 _state=0;
  4167. /*[IF*/
  4168. if((r3is_digit((C)->_cc/*24*/))||(((C)->_cc/*24*/)==('\56'))){
  4169. _l=(C)->_line/*16*/;
  4170. _c=(C)->_column/*12*/;
  4171. /*[IRF3.3clear*/((((T7*)((T7*)(oBC71tmp_string))))->_count)=(0);
  4172. /*]*/
  4173. /*[IF*/
  4174. if(((C)->_cc/*24*/)==('\56')){
  4175. r7append((T7*)(oBC71tmp_string),((T0*)ms13_194));
  4176. _state=5;
  4177. }
  4178. else{
  4179. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4180. }
  4181. /*FI]*/
  4182. while (!((_state)>(11))) {
  4183. r71next_char(C);
  4184. {int z1=_state;
  4185.  
  4186. if((0==z1)){
  4187. {int z2=(C)->_cc/*24*/;
  4188.  
  4189. if(((48<=z2)&&(z2<=57))){
  4190. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4191. }
  4192.  else 
  4193. if((46==z2)){
  4194. r7extend((T7*)(oBC71tmp_string),'\56');
  4195. _state=4;
  4196. }
  4197.  else{_state=13;
  4198. }}
  4199. }
  4200.  else 
  4201. if((1==z1)){
  4202. {int z2=(C)->_cc/*24*/;
  4203.  
  4204. if(((48<=z2)&&(z2<=57))){
  4205. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4206. _state=2;
  4207. }
  4208.  else{r71fcp(C,((T0*)ms71_98851));
  4209. }}
  4210. }
  4211.  else 
  4212. if((2==z1)){
  4213. {int z2=(C)->_cc/*24*/;
  4214.  
  4215. if(((48<=z2)&&(z2<=57))){
  4216. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4217. _state=3;
  4218. }
  4219.  else{r71fcp(C,((T0*)ms71_98851));
  4220. }}
  4221. }
  4222.  else 
  4223. if((3==z1)){
  4224. {int z2=(C)->_cc/*24*/;
  4225.  
  4226. if(((48<=z2)&&(z2<=57))){
  4227. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4228. _state=0;
  4229. }
  4230.  else{r71fcp(C,((T0*)ms71_98851));
  4231. }}
  4232. }
  4233.  else 
  4234. if((4==z1)){
  4235. {int z2=(C)->_cc/*24*/;
  4236.  
  4237. if(((48<=z2)&&(z2<=57))){
  4238. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4239. _state=6;
  4240. }
  4241.  else 
  4242. if((69==z2)||(101==z2)){
  4243. r7extend((T7*)(oBC71tmp_string),'E');
  4244. _state=10;
  4245. }
  4246.  else{_state=12;
  4247. }}
  4248. }
  4249.  else 
  4250. if((5==z1)){
  4251. {int z2=(C)->_cc/*24*/;
  4252.  
  4253. if(((48<=z2)&&(z2<=57))){
  4254. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4255. _state=6;
  4256. }
  4257.  else{_state=13;
  4258. }}
  4259. }
  4260.  else 
  4261. if((6==z1)){
  4262. {int z2=(C)->_cc/*24*/;
  4263.  
  4264. if(((48<=z2)&&(z2<=57))){
  4265. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4266. }
  4267.  else 
  4268. if((69==z2)||(101==z2)){
  4269. r7extend((T7*)(oBC71tmp_string),'E');
  4270. _state=10;
  4271. }
  4272.  else 
  4273. if((95==z2)){
  4274. _state=7;
  4275. }
  4276.  else{_state=12;
  4277. }}
  4278. }
  4279.  else 
  4280. if((7==z1)){
  4281. {int z2=(C)->_cc/*24*/;
  4282.  
  4283. if(((48<=z2)&&(z2<=57))){
  4284. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4285. _state=8;
  4286. }
  4287.  else{r71fcp(C,((T0*)ms71_146421));
  4288. }}
  4289. }
  4290.  else 
  4291. if((8==z1)){
  4292. {int z2=(C)->_cc/*24*/;
  4293.  
  4294. if(((48<=z2)&&(z2<=57))){
  4295. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4296. _state=9;
  4297. }
  4298.  else{r71fcp(C,((T0*)ms71_146421));
  4299. }}
  4300. }
  4301.  else 
  4302. if((9==z1)){
  4303. {int z2=(C)->_cc/*24*/;
  4304.  
  4305. if(((48<=z2)&&(z2<=57))){
  4306. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4307. _state=6;
  4308. }
  4309.  else{r71fcp(C,((T0*)ms71_146421));
  4310. }}
  4311. }
  4312.  else 
  4313. if((10==z1)){
  4314. {int z2=(C)->_cc/*24*/;
  4315.  
  4316. if((43==z2)){
  4317. _state=11;
  4318. }
  4319.  else 
  4320. if((45==z2)){
  4321. r7extend((T7*)(oBC71tmp_string),'\55');
  4322. _state=11;
  4323. }
  4324.  else 
  4325. if(((48<=z2)&&(z2<=57))){
  4326. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4327. _state=11;
  4328. }
  4329.  else{r71fcp(C,((T0*)ms71_71434));
  4330. _state=13;
  4331. }}
  4332. }
  4333.  else{{int z2=(C)->_cc/*24*/;
  4334.  
  4335. if(((48<=z2)&&(z2<=57))){
  4336. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4337. }
  4338.  else{_state=12;
  4339. }}
  4340. }}
  4341. }
  4342. /*[IF*/
  4343. if((_state)==(12)){
  4344. {T177*n=malloc(sizeof(*n));
  4345. *n=M177;
  4346. r177make(n,r71pos(_l,_c),r7twin((T7*)(oBC71tmp_string)));
  4347. C->_last_real_constant=(T0*)n;
  4348. }
  4349. R=1;
  4350. r71skip_comments(C);
  4351. }
  4352. else{
  4353. r71go_back_at(C,_l,_c);
  4354. }
  4355. /*FI]*/
  4356. }
  4357. /*FI]*/
  4358. return R;
  4359. }
  4360. /*No:EIFFEL_PARSER.fz_elseif*/
  4361.  
  4362.  
  4363. void r71a_assignment_aux(T71* C,T6 a1){
  4364. T0* _rhs=NULL;
  4365. T0* _writable=NULL;
  4366. /*[IF*/
  4367. if(r71a_current(C)){
  4368. r21add_position(X109start_position((C)->_last_expression/*97*/));
  4369. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_43368);
  4370. r21fatal_error((T21*)(oBC12eh),b1);
  4371. }/*]*/
  4372. }
  4373.  else if(r71a_void(C)){
  4374. r21add_position(r112start_position((T112*)(oBC71tmp_name)));
  4375. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_35190);
  4376. r21fatal_error((T21*)(oBC12eh),b1);
  4377. }/*]*/
  4378. }
  4379.  else if(r71a_argument(C)){
  4380. r21add_position(X109start_position((C)->_last_expression/*97*/));
  4381. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_69224);
  4382. r21fatal_error((T21*)(oBC12eh),b1);
  4383. }/*]*/
  4384. }
  4385. else{
  4386. /*[IF*/
  4387. if(r112is_result()){
  4388. _writable=r71last_result(C);
  4389. }
  4390.  else if(r71a_local_variable(C)){
  4391. _writable=(C)->_last_expression/*97*/;
  4392. }
  4393. else{
  4394. _writable=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  4395. }
  4396. /*FI]*/
  4397. /*[IF*/
  4398. if(r71a_expression(C)){
  4399. _rhs=(C)->_last_expression/*97*/;
  4400. /*[IF*/
  4401. if(a1){
  4402. {T287*n=malloc(sizeof(*n));
  4403. *n=M287;
  4404. r287make(n,_writable,_rhs);
  4405. C->_last_instruction=(T0*)n;
  4406. }
  4407. }
  4408. else{
  4409. {T288*n=malloc(sizeof(*n));
  4410. *n=M288;
  4411. r288make(n,_writable,_rhs);
  4412. C->_last_instruction=(T0*)n;
  4413. }
  4414. }
  4415. /*FI]*/
  4416. }
  4417. else{
  4418. r71fcp(C,((T0*)ms71_146421a));
  4419. }
  4420. /*FI]*/
  4421. }
  4422. /*FI]*/
  4423. }
  4424. /*No:EIFFEL_PARSER.us_double*/
  4425.  
  4426.  
  4427. T0* r71a_external(T71* C){
  4428. T0* R=NULL;
  4429. T0* _l=NULL;
  4430. /*[IF*/
  4431. if(((C)->_cc/*24*/)!=('\42')){
  4432. /*[IRF3.6wcp*/{T71* C1=C;
  4433. T0* b1=((T0*)ms71_14027a);
  4434. r71warning(r71current_position(C1),b1);
  4435. }/*]*/
  4436. }
  4437. else{
  4438. C->_ok=r71skip1(C,'\42');
  4439. }
  4440. /*FI]*/
  4441. /*[IF*/
  4442. if(r71a_keyword(C,((T0*)ms13_18788))){
  4443. {T297*n=malloc(sizeof(*n));
  4444. *n=M297;
  4445. _l=(T0*)n;
  4446. }
  4447. }
  4448.  else if(r71a_keyword(C,((T0*)ms13_25909))){
  4449. {T298*n=malloc(sizeof(*n));
  4450. *n=M298;
  4451. _l=(T0*)n;
  4452. }
  4453. }
  4454.  else if(r71a_keyword(C,((T0*)ms13_50768))){
  4455. {T300*n=malloc(sizeof(*n));
  4456. *n=M300;
  4457. _l=(T0*)n;
  4458. }
  4459. }
  4460.  else if(r71a_keyword(C,((T0*)ms13_37456))){
  4461. {T301*n=malloc(sizeof(*n));
  4462. *n=M301;
  4463. _l=(T0*)n;
  4464. }
  4465. }
  4466.  else if(r71a_keyword(C,((T0*)ms13_66440))){
  4467. {T302*n=malloc(sizeof(*n));
  4468. *n=M302;
  4469. _l=(T0*)n;
  4470. }
  4471. }
  4472.  else if(r71a_keyword(C,((T0*)ms71_675))){
  4473. {T297*n=malloc(sizeof(*n));
  4474. *n=M297;
  4475. _l=(T0*)n;
  4476. }
  4477. r71wcpefnc(C,((T0*)ms71_675a),((T0*)ms13_18788));
  4478. }
  4479.  else if(r71a_keyword(C,((T0*)ms71_681))){
  4480. {T298*n=malloc(sizeof(*n));
  4481. *n=M298;
  4482. _l=(T0*)n;
  4483. }
  4484. r71wcpefnc(C,((T0*)ms71_681a),((T0*)ms13_25909));
  4485. }
  4486.  else if(r71a_keyword(C,((T0*)ms71_1216))){
  4487. {T300*n=malloc(sizeof(*n));
  4488. *n=M300;
  4489. _l=(T0*)n;
  4490. }
  4491. r71wcpefnc(C,((T0*)ms71_1216a),((T0*)ms13_50768));
  4492. }
  4493.  else if(r71a_keyword(C,((T0*)ms71_68))){
  4494. {T301*n=malloc(sizeof(*n));
  4495. *n=M301;
  4496. _l=(T0*)n;
  4497. }
  4498. }
  4499.  else if(r71a_keyword(C,((T0*)ms71_286))){
  4500. {T302*n=malloc(sizeof(*n));
  4501. *n=M302;
  4502. _l=(T0*)n;
  4503. }
  4504. r71wcpefnc(C,((T0*)ms71_286a),((T0*)ms13_66440));
  4505. }
  4506.  else if(r71a_keyword(C,((T0*)ms13_32576))){
  4507. {T303*n=malloc(sizeof(*n));
  4508. *n=M303;
  4509. _l=(T0*)n;
  4510. }
  4511. }
  4512.  else if(r71a_keyword(C,((T0*)ms13_38896))){
  4513. {T305*n=malloc(sizeof(*n));
  4514. *n=M305;
  4515. _l=(T0*)n;
  4516. }
  4517. }
  4518. else{
  4519. r71fcp(C,((T0*)ms71_1422390));
  4520. }
  4521. /*FI]*/
  4522. /*[IF*/
  4523. if(((C)->_cc/*24*/)!=('\42')){
  4524. /*[IRF3.6wcp*/{T71* C1=C;
  4525. T0* b1=((T0*)ms71_14027a);
  4526. r71warning(r71current_position(C1),b1);
  4527. }/*]*/
  4528. }
  4529. else{
  4530. C->_ok=r71skip1(C,'\42');
  4531. }
  4532. /*FI]*/
  4533. R=r202to_external_routine((T202*)(oBC71tmp_feature),_l,r71a_alias(C));
  4534. return R;
  4535. }
  4536. /*No:EIFFEL_PARSER.fz_creation*/
  4537.  
  4538.  
  4539. T6 r71a_debug(T71* C){
  4540. T6 R=0;
  4541. T0* _e_debug=NULL;
  4542. T0* _list=NULL;
  4543. T0* _sp=NULL;
  4544. /*[IF*/
  4545. if(r71a_keyword(C,((T0*)ms13_2670))){
  4546. {T59*n=malloc(sizeof(*n));
  4547. *n=M59;
  4548. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4549. _sp=(T0*)n;
  4550. }
  4551. /*[IF*/
  4552. if(r71skip1(C,'\50')){
  4553. while (!(!(r71a_manifest_string(C)))) {
  4554. /*[IF*/
  4555. if((_list)==((void*)(NULL))){
  4556. _list=se_ma225(1,
  4557. (C)->_last_manifest_string/*145*/);
  4558. }
  4559. else{
  4560. r225add_last(((T225*)_list),(C)->_last_manifest_string/*145*/);
  4561. }
  4562. /*FI]*/
  4563. C->_ok=r71skip1(C,'\54');
  4564. }
  4565. /*[IF*/
  4566. if((_list)==((void*)(NULL))){
  4567. /*[IRF3.6wcp*/{T71* C1=C;
  4568. T0* b1=((T0*)ms71_61008);
  4569. r71warning(r71current_position(C1),b1);
  4570. }/*]*/
  4571. }
  4572. /*FI]*/
  4573. /*[IF*/
  4574. if(!(r71skip1(C,'\51'))){
  4575. r71fcp(C,((T0*)ms71_76190));
  4576. }
  4577. /*FI]*/
  4578. }
  4579. /*FI]*/
  4580. R=1;
  4581. {T224*n=malloc(sizeof(*n));
  4582. *n=M224;
  4583. r224make(n,_sp,_list,r71a_compound2(C,((T0*)ms71_2670),((T0*)ms13_951)));
  4584. _e_debug=(T0*)n;
  4585. }
  4586. C->_last_instruction=_e_debug;
  4587. }
  4588. /*FI]*/
  4589. return R;
  4590. }
  4591.  
  4592.  
  4593. T6 r71a_parent(T71* C){
  4594. T6 R=0;
  4595. /*[IF*/
  4596. if(r71a_class_type(C)){
  4597. R=1;
  4598. {T82*n=malloc(sizeof(*n));
  4599. *n=M82;
  4600. r82make(n,(C)->_last_class_type/*93*/);
  4601. C->_last_parent=(T0*)n;
  4602. }
  4603. /*[IF*/
  4604. if(r71a_keyword(C,((T0*)ms13_6912))){
  4605. r71a_rename_list(C);
  4606. /*[IF*/
  4607. if(((C)->_cc/*24*/)==('\73')){
  4608. /*[IRF3.6wcp*/{T71* C1=C;
  4609. T0* b1=((T0*)ms71_71638);
  4610. r71warning(r71current_position(C1),b1);
  4611. }/*]*/
  4612. C->_ok=r71skip1(C,'\73');
  4613. }
  4614. /*FI]*/
  4615. }
  4616. /*FI]*/
  4617. r71a_new_export_list(C);
  4618. /*[IF*/
  4619. if(r71a_keyword(C,((T0*)ms13_10824))){
  4620. /*[IF*/
  4621. if(r71a_feature_name_list(C)){
  4622. /*[IRF3.3set_undefine*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_undefine_list)=((C)->_last_feature_name_list/*109*/);
  4623. /*]*/
  4624. }
  4625. /*FI]*/
  4626. }
  4627. /*FI]*/
  4628. /*[IF*/
  4629. if(r71a_keyword(C,((T0*)ms13_10728))){
  4630. /*[IF*/
  4631. if(r71a_feature_name_list(C)){
  4632. /*[IRF3.3set_redefine*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_redefine_list)=((C)->_last_feature_name_list/*109*/);
  4633. /*]*/
  4634. }
  4635. /*FI]*/
  4636. }
  4637. /*FI]*/
  4638. /*[IF*/
  4639. if(r71a_keyword(C,((T0*)ms13_7410))){
  4640. /*[IF*/
  4641. if(r71a_feature_name_list(C)){
  4642. /*[IRF3.3set_select*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_select_list)=((C)->_last_feature_name_list/*109*/);
  4643. /*]*/
  4644. }
  4645. /*FI]*/
  4646. }
  4647. /*FI]*/
  4648. /*[IF*/
  4649. if(((((r71a_keyword(C,((T0*)ms13_6912)))||(r71a_keyword(C,((T0*)ms13_7614))))||(r71a_keyword(C,((T0*)ms13_10824))))||(r71a_keyword(C,((T0*)ms13_10728))))||(r71a_keyword(C,((T0*)ms13_7410)))){
  4650. r21add_position(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  4651. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_667805);
  4652. r21fatal_error((T21*)(oBC12eh),b1);
  4653. }/*]*/
  4654. }
  4655. /*FI]*/
  4656. C->_ok=r71a_keyword(C,((T0*)ms13_951));
  4657. }
  4658. /*FI]*/
  4659. return R;
  4660. }
  4661. /*No:EIFFEL_PARSER.fz_desc*/
  4662.  
  4663.  
  4664. T6 r71a_bit_constant(T71* C){
  4665. T6 R=0;
  4666. T2 _state=0;
  4667. T2 _c=0;
  4668. T2 _l=0;
  4669. /*[IF*/
  4670. if((((C)->_cc/*24*/)==('0'))||(((C)->_cc/*24*/)==('1'))){
  4671. _l=(C)->_line/*16*/;
  4672. _c=(C)->_column/*12*/;
  4673. /*[IRF3.3clear*/((((T7*)((T7*)(oBC71tmp_string))))->_count)=(0);
  4674. /*]*/
  4675. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4676. while (!((_state)>(0))) {
  4677. r71next_char(C);
  4678. {int z1=(C)->_cc/*24*/;
  4679.  
  4680. if(((48<=z1)&&(z1<=49))){
  4681. r7extend((T7*)(oBC71tmp_string),(C)->_cc/*24*/);
  4682. }
  4683.  else 
  4684. if((66==z1)||(98==z1)){
  4685. {T176*n=malloc(sizeof(*n));
  4686. *n=M176;
  4687. r176make(n,r71pos(_l,_c),r7twin((T7*)(oBC71tmp_string)));
  4688. C->_last_bit_constant=(T0*)n;
  4689. }
  4690. r71next_char(C);
  4691. r71skip_comments(C);
  4692. _state=1;
  4693. R=1;
  4694. }
  4695.  else{r71go_back_at(C,_l,_c);
  4696. _state=2;
  4697. }}
  4698. }
  4699. }
  4700. /*FI]*/
  4701. return R;
  4702. }
  4703. /*No:EIFFEL_PARSER.us_and_then*/
  4704. /*No:EIFFEL_PARSER.fz_alias*/
  4705.  
  4706.  
  4707. void r71a_formal_generic_list(T71* C){
  4708. T2 _state=0;
  4709. T0* _list=NULL;
  4710. T0* _fga=NULL;
  4711. T0* _constraint=NULL;
  4712. T0* _name=NULL;
  4713. T0* _sp=NULL;
  4714. C->_formal_generic_list=NULL;
  4715. while (!((_state)>(4))) {
  4716. {int z1=_state;
  4717.  
  4718. if((0==z1)){
  4719. /*[IF*/
  4720. if(r71skip1(C,'\133')){
  4721. {T59*n=malloc(sizeof(*n));
  4722. *n=M59;
  4723. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  4724. _sp=(T0*)n;
  4725. }
  4726. _state=1;
  4727. }
  4728. else{
  4729. _state=5;
  4730. }
  4731. /*FI]*/
  4732. }
  4733.  else 
  4734. if((1==z1)){
  4735. /*[IF*/
  4736. if(r71a_base_class_name(C)){
  4737. _name=(C)->_last_class_name/*89*/;
  4738. _state=2;
  4739. }
  4740. else{
  4741. _state=6;
  4742. }
  4743. /*FI]*/
  4744. }
  4745.  else 
  4746. if((2==z1)){
  4747. /*[IF*/
  4748. if(r71skip2(C,'\55','\76')){
  4749. _state=4;
  4750. }
  4751.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
  4752. {T283*n=malloc(sizeof(*n));
  4753. *n=M283;
  4754. r283make(n,_name,_constraint);
  4755. _fga=(T0*)n;
  4756. }
  4757. _name=NULL;
  4758. _constraint=NULL;
  4759. /*[IF*/
  4760. if((_list)==((void*)(NULL))){
  4761. _list=se_ma284(1,
  4762. _fga);
  4763. }
  4764. else{
  4765. r284add_last(((T284*)_list),_fga);
  4766. }
  4767. /*FI]*/
  4768. _fga=NULL;
  4769. /*[IF*/
  4770. if(r71skip1(C,'\54')){
  4771. _state=1;
  4772. }
  4773. else{
  4774. C->_ok=r71skip1(C,'\135');
  4775. _state=5;
  4776. }
  4777. /*FI]*/
  4778. }
  4779. else{
  4780. _state=6;
  4781. }
  4782. /*FI]*/
  4783. }
  4784.  else 
  4785. if((3==z1)){
  4786. /*[IF*/
  4787. if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\135'))){
  4788. {T283*n=malloc(sizeof(*n));
  4789. *n=M283;
  4790. r283make(n,_name,_constraint);
  4791. _fga=(T0*)n;
  4792. }
  4793. _name=NULL;
  4794. _constraint=NULL;
  4795. /*[IF*/
  4796. if((_list)==((void*)(NULL))){
  4797. _list=se_ma284(1,
  4798. _fga);
  4799. }
  4800. else{
  4801. r284add_last(((T284*)_list),_fga);
  4802. }
  4803. /*FI]*/
  4804. _fga=NULL;
  4805. /*[IF*/
  4806. if(r71skip1(C,'\54')){
  4807. _state=1;
  4808. }
  4809. else{
  4810. C->_ok=r71skip1(C,'\135');
  4811. _state=5;
  4812. }
  4813. /*FI]*/
  4814. }
  4815. else{
  4816. _state=6;
  4817. }
  4818. /*FI]*/
  4819. }
  4820.  else{/*[IF*/
  4821. if(r71a_class_type(C)){
  4822. _constraint=(C)->_last_class_type/*93*/;
  4823. _state=3;
  4824. }
  4825. else{
  4826. r71fcp(C,((T0*)ms71_60760));
  4827. _state=6;
  4828. }
  4829. /*FI]*/
  4830. }}
  4831. }
  4832. /*[IF*/
  4833. if((_state)==(6)){
  4834. }
  4835.  else if(((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))){
  4836. r71warning(_sp,((T0*)ms71_79128a));
  4837. }
  4838.  else if((_sp)!=((void*)(NULL))){
  4839. {T96*n=malloc(sizeof(*n));
  4840. *n=M96;
  4841. r96make(n,_sp,_list);
  4842. C->_formal_generic_list=(T0*)n;
  4843. }
  4844. /*[IRF3.3set_formal_generic_list*/((((T63*)((T63*)((C)->_last_base_class/*65*/))))->_formal_generic_list)=((C)->_formal_generic_list/*37*/);
  4845. /*]*/
  4846. }
  4847. /*FI]*/
  4848. }
  4849. /*No:EIFFEL_PARSER.fz_class*/
  4850. /*No:EIFFEL_PARSER.fz_prefix*/
  4851. /*No:EIFFEL_PARSER.fz_strip*/
  4852. /*No:EIFFEL_PARSER.fz_unique*/
  4853.  
  4854.  
  4855. T6 r71skip1unless2(T71* C,T3 a1,T3 a2){
  4856. T6 R=0;
  4857. C->_start_line=(C)->_line/*16*/;
  4858. C->_start_column=(C)->_column/*12*/;
  4859. /*[IF*/
  4860. if(((C)->_cc/*24*/)==(a1)){
  4861. r71next_char(C);
  4862. /*[IF*/
  4863. if(((C)->_cc/*24*/)==(a2)){
  4864. r71prev_char(C);
  4865. }
  4866. else{
  4867. R=1;
  4868. r71skip_comments(C);
  4869. }
  4870. /*FI]*/
  4871. }
  4872. /*FI]*/
  4873. return R;
  4874. }
  4875. /*No:EIFFEL_PARSER.ecp*/
  4876.  
  4877.  
  4878. void r71fcp(T71* C,T0* a1){
  4879. r21add_position(r71current_position(C));
  4880. /*[IRF3.6fatal_error*/{T0* b1=a1;
  4881. r21fatal_error((T21*)(oBC12eh),b1);
  4882. }/*]*/
  4883. }
  4884.  
  4885.  
  4886. T0* r71a_compound1(T71* C){
  4887. T0* R=NULL;
  4888. T0* _remainder=NULL;
  4889. T0* _first_one=NULL;
  4890. T0* _instruction=NULL;
  4891. T0* _hc=NULL;
  4892. _hc=r71get_comments(C);
  4893. while (!(((C)->_cc/*24*/)!=('\73'))) {
  4894. /*[IRF3.6wcp*/{T71* C1=C;
  4895. T0* b1=((T0*)ms13_41475);
  4896. r71warning(r71current_position(C1),b1);
  4897. }/*]*/
  4898. C->_ok=r71skip1(C,'\73');
  4899. }
  4900. while (!((!(r71a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
  4901. _instruction=(C)->_last_instruction/*133*/;
  4902. /*[IF*/
  4903. if(((C)->_cc/*24*/)==('\50')){
  4904. /*[IRF3.6wcp*/{T71* C1=C;
  4905. T0* b1=((T0*)ms71_9410a);
  4906. r71warning(r71current_position(C1),b1);
  4907. }/*]*/
  4908. }
  4909. /*FI]*/
  4910. C->_ok=r71skip1(C,'\73');
  4911. while (!(((C)->_cc/*24*/)!=('\73'))) {
  4912. /*[IRF3.6wcp*/{T71* C1=C;
  4913. T0* b1=((T0*)ms13_41475);
  4914. r71warning(r71current_position(C1),b1);
  4915. }/*]*/
  4916. C->_ok=r71skip1(C,'\73');
  4917. }
  4918. /*[IF*/
  4919. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  4920. _instruction=X164add_comment(_instruction,r71get_comments(C));
  4921. /*[IF*/
  4922. if((_first_one)==((void*)(NULL))){
  4923. _first_one=_instruction;
  4924. }
  4925. else{
  4926. /*[IF*/
  4927. if((_remainder)==((void*)(NULL))){
  4928. {T221*n=malloc(sizeof(*n));
  4929. *n=M221;
  4930. r221with_capacity(n,4);
  4931. _remainder=(T0*)n;
  4932. }
  4933. }
  4934. /*FI]*/
  4935. r221add_last(((T221*)_remainder),_instruction);
  4936. }
  4937. /*FI]*/
  4938. }
  4939. /*FI]*/
  4940. }
  4941. /*[IF*/
  4942. if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
  4943. {T220*n=malloc(sizeof(*n));
  4944. *n=M220;
  4945. r220make(n,_hc,_first_one,_remainder);
  4946. R=(T0*)n;
  4947. }
  4948. }
  4949. /*FI]*/
  4950. return R;
  4951. }
  4952.  
  4953.  
  4954. T6 r71a_result(T71* C){
  4955. T6 R=0;
  4956. /*[IF*/
  4957. if(r112is_result()){
  4958. C->_last_expression=r71last_result(C);
  4959. R=1;
  4960. }
  4961. /*FI]*/
  4962. return R;
  4963. }
  4964. /*No:EIFFEL_PARSER.set_drop_comments*/
  4965. /*No:EIFFEL_PARSER.fz_all*/
  4966.  
  4967.  
  4968. T6 r71skip1(T71* C,T3 a1){
  4969. T6 R=0;
  4970. /*[IF*/
  4971. if((a1)==((C)->_cc/*24*/)){
  4972. C->_start_line=(C)->_line/*16*/;
  4973. C->_start_column=(C)->_column/*12*/;
  4974. R=1;
  4975. r71next_char(C);
  4976. r71skip_comments(C);
  4977. }
  4978. /*FI]*/
  4979. return R;
  4980. }
  4981. T0*oBC71lcs=NULL;
  4982.  
  4983.  
  4984. T6 r71skip2(T71* C,T3 a1,T3 a2){
  4985. T6 R=0;
  4986. /*[IF*/
  4987. if((a1)==((C)->_cc/*24*/)){
  4988. C->_start_line=(C)->_line/*16*/;
  4989. C->_start_column=(C)->_column/*12*/;
  4990. r71next_char(C);
  4991. /*[IF*/
  4992. if((a2)==((C)->_cc/*24*/)){
  4993. R=1;
  4994. r71next_char(C);
  4995. r71skip_comments(C);
  4996. }
  4997. else{
  4998. r71prev_char(C);
  4999. }
  5000. /*FI]*/
  5001. }
  5002. /*FI]*/
  5003. return R;
  5004. }
  5005. /*No:EIFFEL_PARSER.last_keyword*/
  5006.  
  5007.  
  5008. T6 r71a_boolean_constant(T71* C){
  5009. T6 R=0;
  5010. /*[IF*/
  5011. if(r71a_keyword(C,((T0*)ms13_1832))){
  5012. {T171*n=malloc(sizeof(*n));
  5013. *n=M171;
  5014. /*[IRF3.3make*/((((T171*)(n)))->_start_position)=(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5015. /*]*/
  5016. C->_last_boolean_constant=(T0*)n;
  5017. }
  5018. R=1;
  5019. }
  5020.  else if(r71a_keyword(C,((T0*)ms13_2690))){
  5021. {T172*n=malloc(sizeof(*n));
  5022. *n=M172;
  5023. /*[IRF3.3make*/((((T172*)(n)))->_start_position)=(r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5024. /*]*/
  5025. C->_last_boolean_constant=(T0*)n;
  5026. }
  5027. R=1;
  5028. }
  5029. /*FI]*/
  5030. return R;
  5031. }
  5032.  
  5033.  
  5034. T6 r71a_index_clause(T71* C){
  5035. T6 R=0;
  5036. T0* _index_clause=NULL;
  5037. /*[IF*/
  5038. if(r71a_identifier(C)){
  5039. R=1;
  5040. /*[IF*/
  5041. if(r71skip1(C,'\72')){
  5042. {T325*n=malloc(sizeof(*n));
  5043. *n=M325;
  5044. /*[IRF3.3with_tag*/((((T325*)(n)))->_tag)=(r112to_string((T112*)(oBC71tmp_name)));
  5045. /*]*/
  5046. _index_clause=(T0*)n;
  5047. }
  5048. /*[IF*/
  5049. if(r71a_index_value(C)){
  5050. r325add_last(((T325*)_index_clause),(C)->_last_index_value/*137*/);
  5051. }
  5052. else{
  5053. r71fcp(C,((T0*)ms71_86146));
  5054. }
  5055. /*FI]*/
  5056. }
  5057. else{
  5058. {T325*n=malloc(sizeof(*n));
  5059. *n=M325;
  5060. /*[IRF3.6without_tag*/{T325* C1=n;
  5061. T0* b1=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  5062. r325add_last(C1,b1);
  5063. }/*]*/
  5064. _index_clause=(T0*)n;
  5065. }
  5066. }
  5067. /*FI]*/
  5068. }
  5069.  else if(r71a_manifest_constant(C)){
  5070. R=1;
  5071. {T325*n=malloc(sizeof(*n));
  5072. *n=M325;
  5073. /*[IRF3.6without_tag*/{T325* C1=n;
  5074. T0* b1=(C)->_last_manifest_constant/*141*/;
  5075. r325add_last(C1,b1);
  5076. }/*]*/
  5077. _index_clause=(T0*)n;
  5078. }
  5079. }
  5080. /*FI]*/
  5081. /*[IF*/
  5082. if(R){
  5083. while (!(!(r71skip1(C,'\54')))) {
  5084. /*[IF*/
  5085. if(r71a_index_value(C)){
  5086. r325add_last(((T325*)_index_clause),(C)->_last_index_value/*137*/);
  5087. }
  5088. else{
  5089. r71fcp(C,((T0*)ms71_86146));
  5090. }
  5091. /*FI]*/
  5092. }
  5093. r63add_index_clause((T63*)((C)->_last_base_class/*65*/),_index_clause);
  5094. }
  5095. /*FI]*/
  5096. return R;
  5097. }
  5098.  
  5099.  
  5100. T6 r71a_instruction(T71* C){
  5101. T6 R=0;
  5102. R=(((((((r71a_check(C))||(r71a_debug(C)))||(r71a_conditional(C)))||(r71a_retry(C)))||(r71a_inspect(C)))||(r71a_loop(C)))||(r71a_creation(C)))||(r71a_assignment_or_call(C));
  5103. return R;
  5104. }
  5105.  
  5106.  
  5107. void r71wcpefnc(T71* C,T0* a1,T0* a2){
  5108. /*[IRF3.6append*/{T0* b1=((T0*)ms71_44280);
  5109. r7append((T7*)(oBC21explanation),b1);
  5110. }/*]*/
  5111. /*[IRF3.6append*/{T0* b1=a1;
  5112. r7append((T7*)(oBC21explanation),b1);
  5113. }/*]*/
  5114. /*[IRF3.6append*/{T0* b1=((T0*)ms71_6730);
  5115. r7append((T7*)(oBC21explanation),b1);
  5116. }/*]*/
  5117. /*[IRF3.6append*/{T0* b1=a2;
  5118. r7append((T7*)(oBC21explanation),b1);
  5119. }/*]*/
  5120. /*[IRF3.6wcp*/{T71* C1=C;
  5121. T0* b1=((T0*)ms71_94878);
  5122. r71warning(r71current_position(C1),b1);
  5123. }/*]*/
  5124. }
  5125. /*No:EIFFEL_PARSER.wcp*/
  5126. /*No:EIFFEL_PARSER.last_type_formal_generic*/
  5127.  
  5128.  
  5129. T6 r71a_base_type(T71* C){
  5130. T6 R=0;
  5131. T0* _sp=NULL;
  5132. R=1;
  5133. /*[IF*/
  5134. if(r71a_keyword(C,((T0*)ms14_714))){
  5135. {T263*n=malloc(sizeof(*n));
  5136. *n=M263;
  5137. r263make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5138. C->_last_base_type=(T0*)n;
  5139. }
  5140. }
  5141.  else if(r71a_keyword(C,((T0*)ms14_1990))){
  5142. {T59*n=malloc(sizeof(*n));
  5143. *n=M59;
  5144. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5145. _sp=(T0*)n;
  5146. }
  5147. /*[IF*/
  5148. if(((r71skip1(C,'\133'))&&(r71a_type(C)))&&(r71skip1(C,'\135'))){
  5149. {T264*n=malloc(sizeof(*n));
  5150. *n=M264;
  5151. r264make(n,_sp,(C)->_last_type/*157*/);
  5152. C->_last_base_type=(T0*)n;
  5153. }
  5154. }
  5155. else{
  5156. r71fcp(C,((T0*)ms71_64185));
  5157. }
  5158. /*FI]*/
  5159. }
  5160.  else if(r71a_keyword(C,((T0*)ms14_17628))){
  5161. {T59*n=malloc(sizeof(*n));
  5162. *n=M59;
  5163. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5164. _sp=(T0*)n;
  5165. }
  5166. /*[IF*/
  5167. if(((r71skip1(C,'\133'))&&(r71a_type(C)))&&(r71skip1(C,'\135'))){
  5168. {T267*n=malloc(sizeof(*n));
  5169. *n=M267;
  5170. r267make(n,_sp,(C)->_last_type/*157*/);
  5171. C->_last_base_type=(T0*)n;
  5172. }
  5173. }
  5174. else{
  5175. r71fcp(C,((T0*)ms71_90680));
  5176. }
  5177. /*FI]*/
  5178. }
  5179.  else if(r71a_keyword(C,((T0*)ms71_7203))){
  5180. {T59*n=malloc(sizeof(*n));
  5181. *n=M59;
  5182. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5183. _sp=(T0*)n;
  5184. }
  5185. /*[IF*/
  5186. if(((r71skip1(C,'\133'))&&(r71a_type(C)))&&(r71skip1(C,'\135'))){
  5187. {T267*n=malloc(sizeof(*n));
  5188. *n=M267;
  5189. r267make(n,_sp,(C)->_last_type/*157*/);
  5190. C->_last_base_type=(T0*)n;
  5191. }
  5192. }
  5193. else{
  5194. r71fcp(C,((T0*)ms71_71295));
  5195. }
  5196. /*FI]*/
  5197. r71warning(_sp,((T0*)ms71_151262));
  5198. }
  5199.  else if(r71a_keyword(C,((T0*)ms14_6510))){
  5200. {T268*n=malloc(sizeof(*n));
  5201. *n=M268;
  5202. r268make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5203. C->_last_base_type=(T0*)n;
  5204. }
  5205. }
  5206.  else if(r71a_keyword(C,((T0*)ms14_9936))){
  5207. {T270*n=malloc(sizeof(*n));
  5208. *n=M270;
  5209. r270make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5210. C->_last_base_type=(T0*)n;
  5211. }
  5212. }
  5213.  else if(r71a_keyword(C,((T0*)ms14_4818))){
  5214. {T271*n=malloc(sizeof(*n));
  5215. *n=M271;
  5216. r271make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5217. C->_last_base_type=(T0*)n;
  5218. }
  5219. }
  5220.  else if(r71a_keyword(C,((T0*)ms14_6748))){
  5221. {T272*n=malloc(sizeof(*n));
  5222. *n=M272;
  5223. r272make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5224. C->_last_base_type=(T0*)n;
  5225. }
  5226. }
  5227.  else if(r71a_keyword(C,((T0*)ms14_1256))){
  5228. {T273*n=malloc(sizeof(*n));
  5229. *n=M273;
  5230. r273make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5231. C->_last_base_type=(T0*)n;
  5232. }
  5233. }
  5234.  else if(r71a_keyword(C,((T0*)ms14_6881))){
  5235. {T274*n=malloc(sizeof(*n));
  5236. *n=M274;
  5237. r274make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5238. C->_last_base_type=(T0*)n;
  5239. }
  5240. }
  5241.  else if(r71a_keyword(C,((T0*)ms14_1208))){
  5242. {T275*n=malloc(sizeof(*n));
  5243. *n=M275;
  5244. r275make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5245. C->_last_base_type=(T0*)n;
  5246. }
  5247. }
  5248.  else if(r71a_keyword(C,((T0*)ms14_5046))){
  5249. {T276*n=malloc(sizeof(*n));
  5250. *n=M276;
  5251. r276make(n,r71pos((C)->_start_line/*169*/,(C)->_start_column/*165*/));
  5252. C->_last_base_type=(T0*)n;
  5253. }
  5254. }
  5255. else{
  5256. R=0;
  5257. }
  5258. /*FI]*/
  5259. return R;
  5260. }
  5261.  
  5262.  
  5263. void r71a_procedure_call(T71* C){
  5264. T0* _implicit_current=NULL;
  5265. T0* _sfn=NULL;
  5266. _sfn=r112to_simple_feature_name((T112*)(oBC71tmp_name));
  5267. {T197*n=malloc(sizeof(*n));
  5268. *n=M197;
  5269. /*[IRF3.3make*/((((T197*)(n)))->_start_position)=((((T151*)_sfn))->_start_position/*8*/);
  5270. /*]*/
  5271. _implicit_current=(T0*)n;
  5272. }
  5273. r71a_r10(C,1,_implicit_current,_sfn,r71a_actuals(C));
  5274. }
  5275.  
  5276.  
  5277. T0* r71pos(T2 a1,T2 a2){
  5278. T0* R=NULL;
  5279. {T59*n=malloc(sizeof(*n));
  5280. *n=M59;
  5281. r59make(n,a1,a2);
  5282. R=(T0*)n;
  5283. }
  5284. return R;
  5285. }
  5286.  
  5287.  
  5288. void r71show_nb(T2 a1,T0* a2){
  5289. /*[IF*/
  5290. if((a1)>(0)){
  5291. r31w_put_string(((T0*)ms13_3143));
  5292. r31w_put_integer(a1);
  5293. r31w_put_string(a2);
  5294. }
  5295. /*FI]*/
  5296. }
  5297. /*No:EIFFEL_PARSER.fz_error_stars*/
  5298.  
  5299.  
  5300. T0* r71connect_to_cecil(T71* C){
  5301. T0* R=NULL;
  5302. T0* _path=NULL;
  5303. _path=((T76*)(oBC12run_control))->_cecil_path/*20*/;
  5304. r31put_string((T31*)(oBC12echo),((T0*)ms71_25158));
  5305. r31put_string((T31*)(oBC12echo),_path);
  5306. r31put_character((T31*)(oBC12echo),'\n');
  5307. r74load_file((T74*)(oBC12parser_buffer),_path);
  5308. /*[IF*/
  5309. if(!(/*(IRF4.7is_ready*/(((T74*)(oBC12parser_buffer))->_path/*0*/)!=(NULL)/*)*/)){
  5310. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms71_167200);
  5311. r21fatal_error((T21*)(oBC12eh),b1);
  5312. }/*]*/
  5313. }
  5314. /*FI]*/
  5315. C->_is_running=1;
  5316. C->_formal_generic_list=NULL;
  5317. C->_inside_function=0;
  5318. C->_inside_once_function=0;
  5319. C->_in_ensure=0;
  5320. C->_last_comments=NULL;
  5321. C->_line=1;
  5322. C->_column=1;
  5323. C->_current_line=r74item((C)->_line/*16*/);
  5324. {T63*n=malloc(sizeof(*n));
  5325. *n=M63;
  5326. r63make(n);
  5327. C->_last_base_class=(T0*)n;
  5328. }
  5329. r70identify((T70*)(/*(IRF4.6current_class_name*/(((T63*)((C)->_last_base_class/*65*/)))->_name/*24*//*)*/),((T0*)ms71_15050));
  5330. r22add_class((T22*)(oBC12small_eiffel),(C)->_last_base_class/*65*/);
  5331. /*[IF*/
  5332. if((((T7*)((C)->_current_line/*20*/))->_count/*4*/)==(0)){
  5333. C->_cc='\n';
  5334. }
  5335. else{
  5336. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/(((T7*)((C)->_current_line/*20*/))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  5337. }
  5338. /*FI]*/
  5339. r71skip_comments(C);
  5340. {T7*n=malloc(sizeof(*n));
  5341. *n=M7;
  5342. r7make(n,32);
  5343. R=(T0*)n;
  5344. }
  5345. while (!(((C)->_cc/*24*/)==('\n'))) {
  5346. r7extend(((T7*)R),(C)->_cc/*24*/);
  5347. r71next_char(C);
  5348. }
  5349. r71skip_comments(C);
  5350. return R;
  5351. }
  5352. /*No:EIFFEL_PARSER.us_minus*/
  5353.  
  5354.  
  5355. T6 r71a_identifier(T71* C){
  5356. T6 R=0;
  5357. /*[IF*/
  5358. if((C)->_case_insensitive/*0*/){
  5359. R=r71a_identifier1(C);
  5360. }
  5361. else{
  5362. R=r71a_identifier2(C);
  5363. }
  5364. /*FI]*/
  5365. return R;
  5366. }
  5367. /*No:EIFFEL_PARSER.fz_else*/
  5368.  
  5369.  
  5370. T0* r71a_compound2(T71* C,T0* a1,T0* a2){
  5371. T0* R=NULL;
  5372. T0* _remainder=NULL;
  5373. T0* _first_one=NULL;
  5374. T0* _instruction=NULL;
  5375. T0* _hc=NULL;
  5376. _hc=r71get_comments(C);
  5377. while (!(((C)->_cc/*24*/)!=('\73'))) {
  5378. /*[IRF3.6wcp*/{T71* C1=C;
  5379. T0* b1=((T0*)ms13_41475);
  5380. r71warning(r71current_position(C1),b1);
  5381. }/*]*/
  5382. C->_ok=r71skip1(C,'\73');
  5383. }
  5384. while (!((!(r71a_instruction(C)))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
  5385. _instruction=(C)->_last_instruction/*133*/;
  5386. /*[IF*/
  5387. if(((C)->_cc/*24*/)==('\50')){
  5388. /*[IRF3.6wcp*/{T71* C1=C;
  5389. T0* b1=((T0*)ms71_9410a);
  5390. r71warning(r71current_position(C1),b1);
  5391. }/*]*/
  5392. }
  5393. /*FI]*/
  5394. C->_ok=r71skip1(C,'\73');
  5395. while (!(((C)->_cc/*24*/)!=('\73'))) {
  5396. /*[IRF3.6wcp*/{T71* C1=C;
  5397. T0* b1=((T0*)ms13_41475);
  5398. r71warning(r71current_position(C1),b1);
  5399. }/*]*/
  5400. C->_ok=r71skip1(C,'\73');
  5401. }
  5402. /*[IF*/
  5403. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  5404. _instruction=X164add_comment(_instruction,r71get_comments(C));
  5405. /*[IF*/
  5406. if((_first_one)==((void*)(NULL))){
  5407. _first_one=_instruction;
  5408. }
  5409. else{
  5410. /*[IF*/
  5411. if((_remainder)==((void*)(NULL))){
  5412. {T221*n=malloc(sizeof(*n));
  5413. *n=M221;
  5414. r221with_capacity(n,4);
  5415. _remainder=(T0*)n;
  5416. }
  5417. }
  5418. /*FI]*/
  5419. r221add_last(((T221*)_remainder),_instruction);
  5420. }
  5421. /*FI]*/
  5422. }
  5423. /*FI]*/
  5424. }
  5425. /*[IF*/
  5426. if(!(r71a_keyword(C,a2))){
  5427. /*[IRF3.6append*/{T0* b1=((T0*)ms71_12480);
  5428. r7append((T7*)(oBC21explanation),b1);
  5429. }/*]*/
  5430. /*[IRF3.6append*/{T0* b1=a1;
  5431. r7append((T7*)(oBC21explanation),b1);
  5432. }/*]*/
  5433. /*[IRF3.6append*/{T0* b1=((T0*)ms71_33345);
  5434. r7append((T7*)(oBC21explanation),b1);
  5435. }/*]*/
  5436. /*[IRF3.6append*/{T0* b1=a2;
  5437. r7append((T7*)(oBC21explanation),b1);
  5438. }/*]*/
  5439. r71fcp(C,((T0*)ms71_10120a));
  5440. }
  5441. /*FI]*/
  5442. /*[IF*/
  5443. if(((_hc)!=((void*)(NULL)))||((_first_one)!=((void*)(NULL)))){
  5444. {T220*n=malloc(sizeof(*n));
  5445. *n=M220;
  5446. r220make(n,_hc,_first_one,_remainder);
  5447. R=(T0*)n;
  5448. }
  5449. }
  5450. /*FI]*/
  5451. return R;
  5452. }
  5453. /*No:EIFFEL_PARSER.fz_deferred*/
  5454. /*No:EIFFEL_PARSER.fz_like*/
  5455.  
  5456.  
  5457. T6 r71a_loop(T71* C){
  5458. T6 R=0;
  5459. T0* _al=NULL;
  5460. T0* _hc=NULL;
  5461. T0* _lb=NULL;
  5462. T0* _ue=NULL;
  5463. T0* _vc=NULL;
  5464. T0* _ic=NULL;
  5465. T0* _i=NULL;
  5466. T0* _e_loop=NULL;
  5467. T2 _c2=0;
  5468. T2 _l2=0;
  5469. T2 _c1=0;
  5470. T2 _l1=0;
  5471. /*[IF*/
  5472. if(r71a_keyword(C,((T0*)ms13_1784))){
  5473. R=1;
  5474. _l1=(C)->_start_line/*169*/;
  5475. _c1=(C)->_start_column/*165*/;
  5476. _i=r71a_compound1(C);
  5477. /*[IF*/
  5478. if(r71a_keyword(C,((T0*)ms13_14427))){
  5479. _l2=(C)->_start_line/*169*/;
  5480. _c2=(C)->_start_column/*165*/;
  5481. _hc=r71get_comments(C);
  5482. _al=r71a_assertion(C);
  5483. /*[IF*/
  5484. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  5485. {T247*n=malloc(sizeof(*n));
  5486. *n=M247;
  5487. r247make(n,r71pos(_l2,_c2),_hc,_al);
  5488. _ic=(T0*)n;
  5489. }
  5490. }
  5491. /*FI]*/
  5492. }
  5493. /*FI]*/
  5494. /*[IF*/
  5495. if(r71a_keyword(C,((T0*)ms13_9506))){
  5496. /*[IF*/
  5497. if((r71a_tag_mark(C))&&(r71a_expression(C))){
  5498. {T249*n=malloc(sizeof(*n));
  5499. *n=M249;
  5500. r249make(n,(C)->_last_tag_mark/*161*/,(C)->_last_expression/*97*/,r71get_comments(C));
  5501. _vc=(T0*)n;
  5502. }
  5503. }
  5504.  else if(r71a_expression(C)){
  5505. {T250*n=malloc(sizeof(*n));
  5506. *n=M250;
  5507. r250make(n,(C)->_last_expression/*97*/,r71get_comments(C));
  5508. _vc=(T0*)n;
  5509. }
  5510. }
  5511. else{
  5512. /*[IRF3.6wcp*/{T71* C1=C;
  5513. T0* b1=((T0*)ms71_85956);
  5514. r71warning(r71current_position(C1),b1);
  5515. }/*]*/
  5516. }
  5517. /*FI]*/
  5518. }
  5519. /*FI]*/
  5520. /*[IF*/
  5521. if(r71a_keyword(C,((T0*)ms13_2855))){
  5522. /*[IF*/
  5523. if(r71a_expression(C)){
  5524. _ue=X109add_comment((C)->_last_expression/*97*/,r71get_comments(C));
  5525. }
  5526. else{
  5527. r71fcp(C,((T0*)ms71_78048));
  5528. _ue=(C)->_last_expression/*97*/;
  5529. }
  5530. /*FI]*/
  5531. }
  5532. else{
  5533. r71fcp(C,((T0*)ms71_83028));
  5534. _ue=(C)->_last_expression/*97*/;
  5535. }
  5536. /*FI]*/
  5537. /*[IF*/
  5538. if(((C)->_cc/*24*/)==('\73')){
  5539. /*[IRF3.6wcp*/{T71* C1=C;
  5540. T0* b1=((T0*)ms13_41475);
  5541. r71warning(r71current_position(C1),b1);
  5542. }/*]*/
  5543. C->_ok=r71skip1(C,'\73');
  5544. }
  5545. /*FI]*/
  5546. /*[IF*/
  5547. if(!(r71a_keyword(C,((T0*)ms13_1808)))){
  5548. /*[IRF3.6wcp*/{T71* C1=C;
  5549. T0* b1=((T0*)ms71_79128);
  5550. r71warning(r71current_position(C1),b1);
  5551. }/*]*/
  5552. }
  5553. /*FI]*/
  5554. _lb=r71a_compound2(C,((T0*)ms71_14202),((T0*)ms13_951));
  5555. {T248*n=malloc(sizeof(*n));
  5556. *n=M248;
  5557. r248make(n,r71pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
  5558. _e_loop=(T0*)n;
  5559. }
  5560. C->_last_instruction=_e_loop;
  5561. }
  5562. /*FI]*/
  5563. return R;
  5564. }
  5565.  
  5566.  
  5567. T6 r71a_base_class_name(T71* C){
  5568. T6 R=0;
  5569. T6 _do_warning=0;
  5570. T2 _state=0;
  5571. /*[IF*/
  5572. if(r3is_letter((C)->_cc/*24*/)){
  5573. /*[IF*/
  5574. if((((unsigned)((C)->_cc/*24*/))>=((unsigned)('a')))){
  5575. _do_warning=1;
  5576. C->_cc=r3to_upper((C)->_cc/*24*/);
  5577. }
  5578. /*FI]*/
  5579. r112initialize((T112*)(oBC71tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  5580. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5581. r7extend((T7*)(oBC112tmp_string),b1);
  5582. }/*]*/
  5583. while (!((_state)>(0))) {
  5584. r71next_char(C);
  5585. {int z1=(C)->_cc/*24*/;
  5586.  
  5587. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  5588. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5589. r7extend((T7*)(oBC112tmp_string),b1);
  5590. }/*]*/
  5591. }
  5592.  else 
  5593. if(((97<=z1)&&(z1<=122))){
  5594. _do_warning=1;
  5595. /*[IRF3.6extend*/{T3 b1=r3to_upper((C)->_cc/*24*/);
  5596. r7extend((T7*)(oBC112tmp_string),b1);
  5597. }/*]*/
  5598. }
  5599.  else{_state=1;
  5600. }}
  5601. }
  5602. /*[IF*/
  5603. if(r112isa_keyword()){
  5604. _state=/*(IRF4.9count*/((T7*)(oBC112tmp_string))->_count/*4*//*)*/;
  5605. while (!((_state)==(0))) {
  5606. _state=(_state)-(1);
  5607. r71prev_char(C);
  5608. }
  5609. }
  5610. else{
  5611. R=1;
  5612. r71skip_comments(C);
  5613. /*[IF*/
  5614. if(_do_warning){
  5615. r71warning(r112start_position((T112*)(oBC71tmp_name)),((T0*)ms71_116415));
  5616. }
  5617. /*FI]*/
  5618. C->_last_class_name=r112to_class_name((T112*)(oBC71tmp_name));
  5619. }
  5620. /*FI]*/
  5621. }
  5622. /*FI]*/
  5623. return R;
  5624. }
  5625.  
  5626.  
  5627. T6 r71a_manifest_constant(T71* C){
  5628. T6 R=0;
  5629. /*[IF*/
  5630. if(r71a_boolean_constant(C)){
  5631. C->_last_manifest_constant=(C)->_last_boolean_constant/*81*/;
  5632. R=1;
  5633. }
  5634.  else if(r71a_character_constant(C)){
  5635. C->_last_manifest_constant=(C)->_last_character_constant/*85*/;
  5636. R=1;
  5637. }
  5638.  else if(r71a_manifest_string(C)){
  5639. C->_last_manifest_constant=(C)->_last_manifest_string/*145*/;
  5640. R=1;
  5641. }
  5642.  else if(r71a_bit_constant(C)){
  5643. C->_last_manifest_constant=(C)->_last_bit_constant/*77*/;
  5644. R=1;
  5645. }
  5646.  else if(r71a_real_constant(C)){
  5647. C->_last_manifest_constant=(C)->_last_real_constant/*153*/;
  5648. R=1;
  5649. }
  5650.  else if(r71a_integer_constant(C)){
  5651. C->_last_manifest_constant=(C)->_last_integer_constant/*129*/;
  5652. R=1;
  5653. }
  5654. /*FI]*/
  5655. return R;
  5656. }
  5657.  
  5658.  
  5659. T6 r71a_identifier1(T71* C){
  5660. T6 R=0;
  5661. T2 _state=0;
  5662. /*[IF*/
  5663. if(r3is_letter((C)->_cc/*24*/)){
  5664. r112initialize((T112*)(oBC71tmp_name),(C)->_line/*16*/,(C)->_column/*12*/);
  5665. /*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
  5666. r7extend((T7*)(oBC112tmp_string),b1);
  5667. }/*]*/
  5668. while (!((_state)>(0))) {
  5669. r71next_char(C);
  5670. {int z1=(C)->_cc/*24*/;
  5671.  
  5672. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  5673. /*[IRF3.6extend*/{T3 b1=(C)->_cc/*24*/;
  5674. r7extend((T7*)(oBC112tmp_string),b1);
  5675. }/*]*/
  5676. }
  5677.  else 
  5678. if(((65<=z1)&&(z1<=90))){
  5679. /*[IRF3.6extend*/{T3 b1=r3to_lower((C)->_cc/*24*/);
  5680. r7extend((T7*)(oBC112tmp_string),b1);
  5681. }/*]*/
  5682. }
  5683.  else{_state=1;
  5684. }}
  5685. }
  5686. /*[IF*/
  5687. if(r112isa_keyword()){
  5688. _state=/*(IRF4.9count*/((T7*)(oBC112tmp_string))->_count/*4*//*)*/;
  5689. while (!((_state)==(0))) {
  5690. _state=(_state)-(1);
  5691. r71prev_char(C);
  5692. }
  5693. }
  5694. else{
  5695. R=1;
  5696. r71skip_comments(C);
  5697. }
  5698. /*FI]*/
  5699. }
  5700. /*FI]*/
  5701. return R;
  5702. }
  5703.  
  5704.  
  5705. void r71a_formal_arg_list(T71* C){
  5706. T2 _state=0;
  5707. T0* _list=NULL;
  5708. T0* _declaration=NULL;
  5709. T0* _name_list=NULL;
  5710. T0* _name=NULL;
  5711. T6 _started=0;
  5712. C->_arguments=NULL;
  5713. while (!((_state)>(5))) {
  5714. {int z1=_state;
  5715.  
  5716. if((0==z1)){
  5717. /*[IF*/
  5718. if(r71skip1(C,'\50')){
  5719. _started=1;
  5720. _state=1;
  5721. }
  5722. else{
  5723. _state=6;
  5724. }
  5725. /*FI]*/
  5726. }
  5727.  else 
  5728. if((1==z1)){
  5729. /*[IF*/
  5730. if(r71a_identifier(C)){
  5731. _name=r112to_argument_name1((T112*)(oBC71tmp_name));
  5732. _state=2;
  5733. }
  5734.  else if(r71skip1(C,'\51')){
  5735. _state=6;
  5736. }
  5737. else{
  5738. _state=7;
  5739. }
  5740. /*FI]*/
  5741. }
  5742.  else 
  5743. if((2==z1)){
  5744. /*[IF*/
  5745. if(r71skip1(C,'\72')){
  5746. /*[IF*/
  5747. if((_name_list)!=((void*)(NULL))){
  5748. r195add_last(((T195*)_name_list),_name);
  5749. _name=NULL;
  5750. }
  5751. /*FI]*/
  5752. _state=4;
  5753. }
  5754. else{
  5755. C->_ok=r71skip1(C,'\54');
  5756. /*[IF*/
  5757. if((_name_list)==((void*)(NULL))){
  5758. _name_list=se_ma195(1,
  5759. _name);
  5760. }
  5761. else{
  5762. r195add_last(((T195*)_name_list),_name);
  5763. }
  5764. /*FI]*/
  5765. _name=NULL;
  5766. _state=3;
  5767. }
  5768. /*FI]*/
  5769. }
  5770.  else 
  5771. if((3==z1)){
  5772. /*[IF*/
  5773. if(r71a_identifier(C)){
  5774. _name=r112to_argument_name1((T112*)(oBC71tmp_name));
  5775. _state=2;
  5776. }
  5777.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  5778. /*[IRF3.6wcp*/{T71* C1=C;
  5779. T0* b1=((T0*)ms71_38712);
  5780. r71warning(r71current_position(C1),b1);
  5781. }/*]*/
  5782. C->_ok=(r71skip1(C,'\54'))||(r71skip1(C,'\73'));
  5783. }
  5784. else{
  5785. _state=7;
  5786. }
  5787. /*FI]*/
  5788. }
  5789.  else 
  5790. if((4==z1)){
  5791. /*[IF*/
  5792. if(r71a_type(C)){
  5793. /*[IF*/
  5794. if((_name_list)!=((void*)(NULL))){
  5795. {T315*n=malloc(sizeof(*n));
  5796. *n=M315;
  5797. r315make(n,_name_list,(C)->_last_type/*157*/);
  5798. _declaration=(T0*)n;
  5799. }
  5800. _name_list=NULL;
  5801. }
  5802. else{
  5803. {T318*n=malloc(sizeof(*n));
  5804. *n=M318;
  5805. r318make(n,_name,(C)->_last_type/*157*/);
  5806. _declaration=(T0*)n;
  5807. }
  5808. _name=NULL;
  5809. }
  5810. /*FI]*/
  5811. /*[IF*/
  5812. if((_list)==((void*)(NULL))){
  5813. _list=se_ma313(1,
  5814. _declaration);
  5815. }
  5816. else{
  5817. r313add_last(((T313*)_list),_declaration);
  5818. }
  5819. /*FI]*/
  5820. _declaration=NULL;
  5821. _state=5;
  5822. }
  5823. else{
  5824. _state=7;
  5825. }
  5826. /*FI]*/
  5827. }
  5828.  else{/*[IF*/
  5829. if(r71skip1(C,'\51')){
  5830. _state=6;
  5831. }
  5832.  else if(((C)->_cc/*24*/)==('\54')){
  5833. /*[IRF3.6wcp*/{T71* C1=C;
  5834. T0* b1=((T0*)ms71_29280aa);
  5835. r71warning(r71current_position(C1),b1);
  5836. }/*]*/
  5837. C->_ok=r71skip1(C,'\54');
  5838. _state=1;
  5839. }
  5840. else{
  5841. C->_ok=r71skip1(C,'\73');
  5842. _state=1;
  5843. }
  5844. /*FI]*/
  5845. }}
  5846. }
  5847. /*[IF*/
  5848. if((_state)==(7)){
  5849. r71fcp(C,((T0*)ms71_39050));
  5850. }
  5851.  else if(_started){
  5852. /*[IF*/
  5853. if((_list)==((void*)(NULL))){
  5854. /*[IRF3.6wcp*/{T71* C1=C;
  5855. T0* b1=((T0*)ms71_83028a);
  5856. r71warning(r71current_position(C1),b1);
  5857. }/*]*/
  5858. }
  5859. else{
  5860. {T191*n=malloc(sizeof(*n));
  5861. *n=M191;
  5862. r191make(n,_list);
  5863. C->_arguments=(T0*)n;
  5864. }
  5865. /*[IRF3.3set_arguments*/((((T202*)((T202*)(oBC71tmp_feature))))->_arguments)=((C)->_arguments/*49*/);
  5866. /*]*/
  5867. }
  5868. /*FI]*/
  5869. }
  5870. /*FI]*/
  5871. }
  5872.  
  5873.  
  5874. T6 r71a_check(T71* C){
  5875. T6 R=0;
  5876. T0* _al=NULL;
  5877. T0* _hc=NULL;
  5878. T0* _sp=NULL;
  5879. /*[IF*/
  5880. if(r71a_keyword(C,((T0*)ms13_2625))){
  5881. R=1;
  5882. {T59*n=malloc(sizeof(*n));
  5883. *n=M59;
  5884. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  5885. _sp=(T0*)n;
  5886. }
  5887. _hc=r71get_comments(C);
  5888. _al=r71a_assertion(C);
  5889. /*[IF*/
  5890. if(((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))){
  5891. {T222*n=malloc(sizeof(*n));
  5892. *n=M222;
  5893. r222make(n,_sp,_hc,_al);
  5894. C->_last_instruction=(T0*)n;
  5895. }
  5896. }
  5897. else{
  5898. /*[IRF3.6wcp*/{T71* C1=C;
  5899. T0* b1=((T0*)ms71_64448);
  5900. r71warning(r71current_position(C1),b1);
  5901. }/*]*/
  5902. }
  5903. /*FI]*/
  5904. /*[IF*/
  5905. if(!(r71a_keyword(C,((T0*)ms13_951)))){
  5906. r71fcp(C,((T0*)ms71_142100));
  5907. }
  5908. /*FI]*/
  5909. }
  5910. /*FI]*/
  5911. return R;
  5912. }
  5913.  
  5914.  
  5915. void r71to_frozen_feature_name(T71* C){
  5916. {T320*n=malloc(sizeof(*n));
  5917. *n=M320;
  5918. /*[IRF3.3make*/((((T320*)(n)))->_feature_name)=((C)->_last_feature_name/*105*/);
  5919. /*]*/
  5920. C->_last_feature_name=(T0*)n;
  5921. }
  5922. }
  5923. /*No:EIFFEL_PARSER.us_boolean*/
  5924.  
  5925.  
  5926. T6 r71a_binary(T71* C,T0* a1){
  5927. T6 R=0;
  5928. R=1;
  5929. /*[IF*/
  5930. if(r71skip2(C,'\74','\75')){
  5931. {T141*n=malloc(sizeof(*n));
  5932. *n=M141;
  5933. r141make(n,((T0*)ms14_248),a1);
  5934. C->_last_binary=(T0*)n;
  5935. }
  5936. }
  5937.  else if(r71skip2(C,'\76','\75')){
  5938. {T141*n=malloc(sizeof(*n));
  5939. *n=M141;
  5940. r141make(n,((T0*)ms14_252),a1);
  5941. C->_last_binary=(T0*)n;
  5942. }
  5943. }
  5944.  else if(r71skip2(C,'\57','\57')){
  5945. {T141*n=malloc(sizeof(*n));
  5946. *n=M141;
  5947. r141make(n,((T0*)ms71_194),a1);
  5948. C->_last_binary=(T0*)n;
  5949. }
  5950. }
  5951.  else if(r71skip2(C,'\134','\134')){
  5952. {T141*n=malloc(sizeof(*n));
  5953. *n=M141;
  5954. r141make(n,((T0*)ms71_374),a1);
  5955. C->_last_binary=(T0*)n;
  5956. }
  5957. }
  5958.  else if(r71skip1(C,'\53')){
  5959. {T141*n=malloc(sizeof(*n));
  5960. *n=M141;
  5961. r141make(n,((T0*)ms14_44),a1);
  5962. C->_last_binary=(T0*)n;
  5963. }
  5964. }
  5965.  else if(r71skip1(C,'\55')){
  5966. {T141*n=malloc(sizeof(*n));
  5967. *n=M141;
  5968. r141make(n,((T0*)ms14_46),a1);
  5969. C->_last_binary=(T0*)n;
  5970. }
  5971. }
  5972.  else if(r71skip1(C,'\52')){
  5973. {T141*n=malloc(sizeof(*n));
  5974. *n=M141;
  5975. r141make(n,((T0*)ms14_43),a1);
  5976. C->_last_binary=(T0*)n;
  5977. }
  5978. }
  5979.  else if(r71skip1(C,'\57')){
  5980. {T141*n=malloc(sizeof(*n));
  5981. *n=M141;
  5982. r141make(n,((T0*)ms14_48),a1);
  5983. C->_last_binary=(T0*)n;
  5984. }
  5985. }
  5986.  else if(r71skip1(C,'\76')){
  5987. {T141*n=malloc(sizeof(*n));
  5988. *n=M141;
  5989. r141make(n,((T0*)ms14_63),a1);
  5990. C->_last_binary=(T0*)n;
  5991. }
  5992. }
  5993.  else if(r71skip1(C,'\74')){
  5994. {T141*n=malloc(sizeof(*n));
  5995. *n=M141;
  5996. r141make(n,((T0*)ms14_61),a1);
  5997. C->_last_binary=(T0*)n;
  5998. }
  5999. }
  6000.  else if(r71skip1(C,'\136')){
  6001. {T141*n=malloc(sizeof(*n));
  6002. *n=M141;
  6003. r141make(n,((T0*)ms71_95),a1);
  6004. C->_last_binary=(T0*)n;
  6005. }
  6006. }
  6007.  else if(r71a_keyword(C,((T0*)ms14_1053a))){
  6008. {T141*n=malloc(sizeof(*n));
  6009. *n=M141;
  6010. r141make(n,((T0*)ms14_1053a),a1);
  6011. C->_last_binary=(T0*)n;
  6012. }
  6013. }
  6014.  else if(r71a_keyword(C,((T0*)ms14_9513))){
  6015. {T141*n=malloc(sizeof(*n));
  6016. *n=M141;
  6017. r141make(n,((T0*)ms14_9513),a1);
  6018. C->_last_binary=(T0*)n;
  6019. }
  6020. }
  6021.  else if(r71a_keyword(C,((T0*)ms14_939))){
  6022. /*[IF*/
  6023. if(r71a_keyword(C,((T0*)ms13_1764))){
  6024. {T141*n=malloc(sizeof(*n));
  6025. *n=M141;
  6026. r141make(n,((T0*)ms14_10800),a1);
  6027. C->_last_binary=(T0*)n;
  6028. }
  6029. }
  6030. else{
  6031. {T141*n=malloc(sizeof(*n));
  6032. *n=M141;
  6033. r141make(n,((T0*)ms14_939),a1);
  6034. C->_last_binary=(T0*)n;
  6035. }
  6036. }
  6037. /*FI]*/
  6038. }
  6039.  else if(r71a_keyword(C,((T0*)ms14_456))){
  6040. /*[IF*/
  6041. if(r71a_keyword(C,((T0*)ms13_1740))){
  6042. {T141*n=malloc(sizeof(*n));
  6043. *n=M141;
  6044. r141make(n,((T0*)ms14_8316),a1);
  6045. C->_last_binary=(T0*)n;
  6046. }
  6047. }
  6048. else{
  6049. {T141*n=malloc(sizeof(*n));
  6050. *n=M141;
  6051. r141make(n,((T0*)ms14_456),a1);
  6052. C->_last_binary=(T0*)n;
  6053. }
  6054. }
  6055. /*FI]*/
  6056. }
  6057. else{
  6058. C->_last_binary=NULL;
  6059. R=0;
  6060. }
  6061. /*FI]*/
  6062. return R;
  6063. }
  6064. /*No:EIFFEL_PARSER.fz_once*/
  6065. /*No:EIFFEL_PARSER.fz_if*/
  6066. /*No:EIFFEL_PARSER.column*/
  6067.  
  6068.  
  6069. void r71a_new_export_list(T71* C){
  6070. T2 _state=0;
  6071. T0* _new_export_item=NULL;
  6072. T0* _items=NULL;
  6073. T0* _clients=NULL;
  6074. T0* _sp=NULL;
  6075. T0* _export_list=NULL;
  6076. /*[IF*/
  6077. if(r71a_keyword(C,((T0*)ms13_7614))){
  6078. {T59*n=malloc(sizeof(*n));
  6079. *n=M59;
  6080. r59make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
  6081. _sp=(T0*)n;
  6082. }
  6083. while (!((_state)>(3))) {
  6084. {int z1=_state;
  6085.  
  6086. if((0==z1)){
  6087. /*[IF*/
  6088. if(((C)->_cc/*24*/)==('\173')){
  6089. _clients=r71a_clients(C);
  6090. _state=1;
  6091. }
  6092.  else if(((C)->_cc/*24*/)==('\73')){
  6093. /*[IRF3.6wcp*/{T71* C1=C;
  6094. T0* b1=((T0*)ms13_41475);
  6095. r71warning(r71current_position(C1),b1);
  6096. }/*]*/
  6097. C->_ok=r71skip1(C,'\73');
  6098. }
  6099. else{
  6100. /*[IF*/
  6101. if((_items)!=((void*)(NULL))){
  6102. {T322*n=malloc(sizeof(*n));
  6103. *n=M322;
  6104. r322make(n,_sp,_items);
  6105. _export_list=(T0*)n;
  6106. }
  6107. /*[IRF3.3set_export*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
  6108. /*]*/
  6109. }
  6110. /*FI]*/
  6111. _state=4;
  6112. }
  6113. /*FI]*/
  6114. }
  6115.  else 
  6116. if((1==z1)){
  6117. /*[IF*/
  6118. if(r71a_keyword(C,((T0*)ms13_957a))){
  6119. {T321*n=malloc(sizeof(*n));
  6120. *n=M321;
  6121. r321make_all(n,_clients);
  6122. _new_export_item=(T0*)n;
  6123. }
  6124. /*[IF*/
  6125. if((_items)==((void*)(NULL))){
  6126. _items=se_ma323(1,
  6127. _new_export_item);
  6128. }
  6129. else{
  6130. r323add_last(((T323*)_items),_new_export_item);
  6131. }
  6132. /*FI]*/
  6133. _state=2;
  6134. }
  6135. else{
  6136. /*[IF*/
  6137. if(r71a_feature_name_list(C)){
  6138. {T321*n=malloc(sizeof(*n));
  6139. *n=M321;
  6140. r321make(n,_clients,(C)->_last_feature_name_list/*109*/);
  6141. _new_export_item=(T0*)n;
  6142. }
  6143. /*[IF*/
  6144. if((_items)==((void*)(NULL))){
  6145. _items=se_ma323(1,
  6146. _new_export_item);
  6147. }
  6148. else{
  6149. r323add_last(((T323*)_items),_new_export_item);
  6150. }
  6151. /*FI]*/
  6152. _state=2;
  6153. }
  6154. else{
  6155. _state=3;
  6156. }
  6157. /*FI]*/
  6158. }
  6159. /*FI]*/
  6160. }
  6161.  else 
  6162. if((2==z1)){
  6163. /*[IF*/
  6164. if(r71skip1(C,'\73')){
  6165. _state=0;
  6166. }
  6167.  else if(((C)->_cc/*24*/)==('\173')){
  6168. /*[IRF3.6wcp*/{T71* C1=C;
  6169. T0* b1=((T0*)ms71_9410a);
  6170. r71warning(r71current_position(C1),b1);
  6171. }/*]*/
  6172. _state=0;
  6173. }
  6174. else{
  6175. /*[IF*/
  6176. if((_items)!=((void*)(NULL))){
  6177. {T322*n=malloc(sizeof(*n));
  6178. *n=M322;
  6179. r322make(n,_sp,_items);
  6180. _export_list=(T0*)n;
  6181. }
  6182. /*[IRF3.3set_export*/((((T82*)((T82*)((C)->_last_parent/*149*/))))->_export_list)=(_export_list);
  6183. /*]*/
  6184. }
  6185. /*FI]*/
  6186. _state=4;
  6187. }
  6188. /*FI]*/
  6189. }
  6190.  else{r71fcp(C,((T0*)ms71_20247));
  6191. _state=4;
  6192. }}
  6193. }
  6194. }
  6195. /*FI]*/
  6196. }
  6197.  
  6198.  
  6199. void r71a_creation_clause(T71* C,T0* a1){
  6200. T0* _creation_clause=NULL;
  6201. T0* _comments=NULL;
  6202. T0* _clients=NULL;
  6203. _clients=r71a_clients(C);
  6204. _comments=r71get_comments(C);
  6205. /*[IF*/
  6206. if(r71a_feature_name_list(C)){
  6207. }
  6208. /*FI]*/
  6209. {T78*n=malloc(sizeof(*n));
  6210. *n=M78;
  6211. r78make(n,a1,_clients,_comments,(C)->_last_feature_name_list/*109*/);
  6212. _creation_clause=(T0*)n;
  6213. }
  6214. r63add_creation_clause((T63*)((C)->_last_base_class/*65*/),_creation_clause);
  6215. }
  6216. /*No:EIFFEL_PARSER.show_nb_errors*/
  6217. /*No:EIFFEL_PARSER.last_integer_constant*/
  6218. /*No:EIFFEL_PARSER.last_boolean_constant*/
  6219.  
  6220.  
  6221. T6 r71a_integer_constant(T71* C){
  6222. T6 R=0;
  6223. T2 _c=0;
  6224. T2 _l=0;
  6225. /*[IF*/
  6226. if(r71skip1(C,'\53')){
  6227. _l=(C)->_start_line/*169*/;
  6228. _c=(C)->_start_column/*165*/;
  6229. /*[IF*/
  6230. if(r71a_integer(C)){
  6231. r59set_line_column((T59*)(((T178*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
  6232. R=1;
  6233. }
  6234. else{
  6235. r71fcp(C,((T0*)ms13_45846));
  6236. }
  6237. /*FI]*/
  6238. }
  6239.  else if(r71skip1(C,'\55')){
  6240. _l=(C)->_start_line/*169*/;
  6241. _c=(C)->_start_column/*165*/;
  6242. /*[IF*/
  6243. if(r71a_integer(C)){
  6244. r59set_line_column((T59*)(((T178*)((C)->_last_integer_constant/*129*/))->_start_position/*4*/),_l,_c);
  6245. r178unary_minus((T178*)((C)->_last_integer_constant/*129*/));
  6246. R=1;
  6247. }
  6248. else{
  6249. r71fcp(C,((T0*)ms13_45846));
  6250. }
  6251. /*FI]*/
  6252. }
  6253. else{
  6254. R=r71a_integer(C);
  6255. }
  6256. /*FI]*/
  6257. return R;
  6258. }
  6259. /*No:EIFFEL_PARSER.fz_do*/
  6260. /*No:EIFFEL_PARSER.fz_as*/
  6261. /*No:EIFFEL_PARSER.us_ge*/
  6262. /*No:EIFFEL_PARSER.go_back*/
  6263.  
  6264.  
  6265. T6 r71a_prefix(T71* C){
  6266. T6 R=0;
  6267. /*[IF*/
  6268. if(r71a_keyword(C,((T0*)ms13_7614a))){
  6269. R=1;
  6270. /*[IF*/
  6271. if(((C)->_cc/*24*/)==('\42')){
  6272. r71next_char(C);
  6273. }
  6274. else{
  6275. /*[IRF3.6wcp*/{T71* C1=C;
  6276. T0* b1=((T0*)ms71_89232);
  6277. r71warning(r71current_position(C1),b1);
  6278. }/*]*/
  6279. }
  6280. /*FI]*/
  6281. /*[IF*/
  6282. if(r71a_unary(C)){
  6283. }
  6284.  else if(r71a_free_operator(C)){
  6285. C->_last_prefix=r112to_prefix_name((T112*)(oBC71tmp_name));
  6286. }
  6287. else{
  6288. r71fcp(C,((T0*)ms71_56910));
  6289. }
  6290. /*FI]*/
  6291. /*[IF*/
  6292. if(!(r71skip1(C,'\42'))){
  6293. /*[IRF3.6wcp*/{T71* C1=C;
  6294. T0* b1=((T0*)ms71_38352);
  6295. r71warning(r71current_position(C1),b1);
  6296. }/*]*/
  6297. }
  6298. /*FI]*/
  6299. }
  6300. /*FI]*/
  6301. return R;
  6302. }
  6303. /*No:EIFFEL_PARSER.last_feature_declaration*/
  6304. /*No:EIFFEL_PARSER.us_none*/
  6305. /*No:EIFFEL_PARSER.start_column*/
  6306. /*No:EIFFEL_PARSER.us_string*/
  6307. /*No:EIFFEL_PARSER.fz_se*/
  6308. /*No:EIFFEL_PARSER.fz_true*/
  6309. /*No:EIFFEL_PARSER.us_le*/
  6310. /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
  6311. /*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
  6312.  
  6313.  
  6314. T0* r71parse_c_name(T71* C){
  6315. T0* R=NULL;
  6316. {T7*n=malloc(sizeof(*n));
  6317. *n=M7;
  6318. r7make(n,32);
  6319. R=(T0*)n;
  6320. }
  6321. while (!(r3is_separator((C)->_cc/*24*/))) {
  6322. r7extend(((T7*)R),(C)->_cc/*24*/);
  6323. r71next_char(C);
  6324. }
  6325. r71skip_comments(C);
  6326. return R;
  6327. }
  6328.  
  6329.  
  6330. T0* r71parse_feature_name(T71* C){
  6331. T0* R=NULL;
  6332. /*[IF*/
  6333. if(r71a_feature_name(C)){
  6334. R=(C)->_last_feature_name/*105*/;
  6335. }
  6336. else{
  6337. r71fcp(C,((T0*)ms71_33616));
  6338. }
  6339. /*FI]*/
  6340. return R;
  6341. }
  6342.  
  6343.  
  6344. void r71a_local_var_list(T71* C){
  6345. T2 _state=0;
  6346. T2 _rank=0;
  6347. T0* _list=NULL;
  6348. T0* _declaration=NULL;
  6349. T0* _name_list=NULL;
  6350. T0* _name=NULL;
  6351. while (!((_state)>(4))) {
  6352. {int z1=_state;
  6353.  
  6354. if((0==z1)){
  6355. /*[IF*/
  6356. if(r71a_identifier(C)){
  6357. _name=r112to_local_name1((T112*)(oBC71tmp_name));
  6358. _state=1;
  6359. /*[IF*/
  6360. if(((C)->_arguments/*49*/)!=((void*)(NULL))){
  6361. _rank=r191rank_of((T191*)((C)->_arguments/*49*/),(((T187*)_name))->_to_string/*8*/);
  6362. /*[IF*/
  6363. if((_rank)>(0)){
  6364. r21add_position((((T187*)_name))->_start_position/*4*/);
  6365. r21add_position(((T194*)(/*(IRF4.6name*/r195item(((T195*)(((T191*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
  6366. r21error((T21*)(oBC12eh),((T0*)ms71_112815));
  6367. }
  6368. /*FI]*/
  6369. }
  6370. /*FI]*/
  6371. }
  6372.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  6373. /*[IRF3.6wcp*/{T71* C1=C;
  6374. T0* b1=((T0*)ms71_38712);
  6375. r71warning(r71current_position(C1),b1);
  6376. }/*]*/
  6377. C->_ok=(r71skip1(C,'\54'))||(r71skip1(C,'\73'));
  6378. }
  6379. else{
  6380. _state=5;
  6381. }
  6382. /*FI]*/
  6383. }
  6384.  else 
  6385. if((1==z1)){
  6386. /*[IF*/
  6387. if(r71skip1(C,'\72')){
  6388. /*[IF*/
  6389. if((_name_list)!=((void*)(NULL))){
  6390. r189add_last(((T189*)_name_list),_name);
  6391. _name=NULL;
  6392. }
  6393. /*FI]*/
  6394. _state=3;
  6395. }
  6396. else{
  6397. /*[IF*/
  6398. if(((C)->_cc/*24*/)==('\73')){
  6399. /*[IRF3.6wcp*/{T71* C1=C;
  6400. T0* b1=((T0*)ms71_29280);
  6401. r71warning(r71current_position(C1),b1);
  6402. }/*]*/
  6403. C->_ok=r71skip1(C,'\73');
  6404. }
  6405. else{
  6406. C->_ok=r71skip1(C,'\54');
  6407. }
  6408. /*FI]*/
  6409. /*[IF*/
  6410. if((_name_list)==((void*)(NULL))){
  6411. _name_list=se_ma189(1,
  6412. _name);
  6413. }
  6414. else{
  6415. r189add_last(((T189*)_name_list),_name);
  6416. }
  6417. /*FI]*/
  6418. _name=NULL;
  6419. _state=2;
  6420. }
  6421. /*FI]*/
  6422. }
  6423.  else 
  6424. if((2==z1)){
  6425. /*[IF*/
  6426. if(r71a_identifier(C)){
  6427. _name=r112to_local_name1((T112*)(oBC71tmp_name));
  6428. _state=1;
  6429. /*[IF*/
  6430. if(((C)->_arguments/*49*/)!=((void*)(NULL))){
  6431. _rank=r191rank_of((T191*)((C)->_arguments/*49*/),(((T187*)_name))->_to_string/*8*/);
  6432. /*[IF*/
  6433. if((_rank)>(0)){
  6434. r21add_position((((T187*)_name))->_start_position/*4*/);
  6435. r21add_position(((T194*)(/*(IRF4.6name*/r195item(((T195*)(((T191*)((C)->_arguments/*49*/))->_flat_list/*8*/)),_rank)/*)*/))->_start_position/*4*/);
  6436. r21error((T21*)(oBC12eh),((T0*)ms71_112815a));
  6437. }
  6438. /*FI]*/
  6439. }
  6440. /*FI]*/
  6441. }
  6442.  else if((((C)->_cc/*24*/)==('\54'))||(((C)->_cc/*24*/)==('\73'))){
  6443. /*[IRF3.6wcp*/{T71* C1=C;
  6444. T0* b1=((T0*)ms71_38712);
  6445. r71warning(r71current_position(C1),b1);
  6446. }/*]*/
  6447. C->_ok=(r71skip1(C,'\54'))||(r71skip1(C,'\73'));
  6448. }
  6449. else{
  6450. _state=6;
  6451. }
  6452. /*FI]*/
  6453. }
  6454.  else 
  6455. if((3==z1)){
  6456. /*[IF*/
  6457. if(r71a_type(C)){
  6458. /*[IF*/
  6459. if((_name_list)!=((void*)(NULL))){
  6460. {T315*n=malloc(sizeof(*n));
  6461. *n=M315;
  6462. r315make(n,_name_list,(C)->_last_type/*157*/);
  6463. _declaration=(T0*)n;
  6464. }
  6465. _name_list=NULL;
  6466. }
  6467. else{
  6468. {T318*n=malloc(sizeof(*n));
  6469. *n=M318;
  6470. r318make(n,_name,(C)->_last_type/*157*/);
  6471. _declaration=(T0*)n;
  6472. }
  6473. _name=NULL;
  6474. }
  6475. /*FI]*/
  6476. /*[IF*/
  6477. if((_list)==((void*)(NULL))){
  6478. _list=se_ma313(1,
  6479. _declaration);
  6480. }
  6481. else{
  6482. r313add_last(((T313*)_list),_declaration);
  6483. }
  6484. /*FI]*/
  6485. _state=4;
  6486. }
  6487. else{
  6488. _state=6;
  6489. }
  6490. /*FI]*/
  6491. }
  6492.  else{/*[IF*/
  6493. if(((C)->_cc/*24*/)==('\54')){
  6494. /*[IRF3.6wcp*/{T71* C1=C;
  6495. T0* b1=((T0*)ms71_29280a);
  6496. r71warning(r71current_position(C1),b1);
  6497. }/*]*/
  6498. C->_ok=r71skip1(C,'\54');
  6499. _state=0;
  6500. }
  6501. else{
  6502. C->_ok=r71skip1(C,'\73');
  6503. _state=0;
  6504. }
  6505. /*FI]*/
  6506. }}
  6507. }
  6508. /*[IF*/
  6509. if((_state)==(6)){
  6510. r71fcp(C,((T0*)ms71_36528));
  6511. }
  6512.  else if((_list)!=((void*)(NULL))){
  6513. {T182*n=malloc(sizeof(*n));
  6514. *n=M182;
  6515. /*[IRF3.6make*/{T182* C1=n;
  6516. T0* b1=_list;
  6517. r182declaration_list_make(C1,b1);
  6518. }/*]*/
  6519. C->_local_vars=(T0*)n;
  6520. }
  6521. /*[IRF3.3set_local_vars*/((((T202*)((T202*)(oBC71tmp_feature))))->_local_vars)=((C)->_local_vars/*53*/);
  6522. /*]*/
  6523. }
  6524. /*FI]*/
  6525. }
  6526. /*No:EIFFEL_PARSER.fz_is*/
  6527.  
  6528.